Generate a Spring Boot project right from inside your IDE.
The IDE provides the Spring Initializr project wizard, which integrates with the Spring Initializr API to generate and import your project directly from the IDE.
Enjoy outstanding coding assistance for your Spring-based source code in both Java and Kotlin.
Intelligent code completion helps you write impeccable Spring-based code faster. IntelliJ IDEA is aware of the context and offers only the most appropriate suggestions not only in your Java or Kotlin files, but also in configuration properties files, URL path references, and many more situations.
The IDE detects errors and probable bugs in your Spring project, even before you compile and run it, and shows you an explanation and offers fixes. The IDE has dozens of Spring-specific inspections covering a wide range of problems, such as bean class autowiring errors and incorrect profile expressions.
IntelliJ IDEA offers effective, thorough refactorings – safe Rename and Delete, Extract Method, Introduce Variable, Inline Variable or Method, and other refactorings. For example, when you Rename a class within a JPA statement, it will update everything, from the JPA entity class to every related JPA expression.
Take advantage of the rich navigation capabilities.
Navigate around your code with gutter icons that can take you to the relevant application contexts, to declarations of autowired beans, or between publishers and listeners.
You can navigate from client to service by clicking on the corresponding URL in your projects with Spring MVC, Spring WebFlux, and Spring Feign.
IntelliJ IDEA has lots of useful diagrams that can help you analyze your application, and you can jump from each of these diagrams to the Spring element it depicts.
Use Search Everywhere (double ⇧ / Shift) to jump to any file, class, or symbol in your project in no time at all. You can even jump between IDE actions and tool windows.
Get all the tools you need bundled right from the start without having to find and install plugins.
Access the services you need for developing applications in Spring: run and debug configurations, application servers, database sessions, Docker connections, and so on, all from one place – the Services tool window.
IntelliJ IDEA recognizes classes annotated with Spring test annotations as tests and helps you run them from the editor.
What’s more, you can easily start a bunch of tests right from the Services tool window.
Compose, edit, and execute HTTP, gRPC, WebSocket, GraphQL queries right in the editor while testing your web service with the integrated HTTP client. You can save HTTP requests in a file or add as templates to the version control system and make them available directly in your project.
Get intelligent coding assistance when editing SQL, connect to live databases, run queries, browse and export data, and even manage your database schemas in an intuitive GUI right inside the IDE.
Analyze even the most complex Spring and Spring Boot projects with ease.
View and analyze dependencies between beans in your project with the Spring Beans Dependencies diagram. Find the Spring element you need and jump to it right from the diagram.
Visualize dependencies between multiple configuration files and analyze how they include and reference each other with the Spring Application Context Dependencies diagram. With this diagram you can easily spot and remove errors, such as circular dependencies.
In the Actuator tab you can monitor and manage the state of Spring Boot application in the production environment – the runtime beans of the application, its status, and also request mappings.
View the definitions of the Spring beans used in your project, and see how they are related to other beans, also navigate between Spring components and dependencies in the Spring tool window.
Get an aggregated view of the client and server APIs, used in your project for HTTP and WebSocket protocols, and generate an HTTP request in the Endpoints tool window.
The leading Java and Kotlin IDE for Spring development
Why choose IntelliJ IDEA?
“One of the coolest things that I observed about using Spring within IntelliJ [IDEA] is Spring Initializr. I don’t have to get out of my IntelliJ IDEA and go to a website, download the code. I can do that – that adds another 2 minutes, which I want to preserve. So all I can do is just create a new project using Spring Initializr and it tells me which version of Spring is compatible with which Java version. That makes it more and more simple, so that adds to the ease of using and creating all the APIs within IntelliJ [IDEA] itself.”
“Spring Boot is all about Java code, and IntelliJ [IDEA] is great at navigating Java code. It just works perfectly in that respect. You don't have XML deployment descriptors, there's no specialized servers you got to deploy to, it's just public static void main and Java code. It's the kind of stuff you would do in your university – just regular objects working together, no servers or infrastructure. IntelliJ [IDEA] has great support for all that. It's so nice! It's just fast, I love IntelliJ [IDEA] for that.”
Kotlin and Spring