Be productive in Spring
Be productive in Spring
IntelliJ IDEA Ultimate provides a rich set of built-in developer tools and outstanding support for the Spring framework.
Intelligent Coding Assistance
IntelliJ IDEA offers outstanding coding assistance for your Spring-based source code in both Java and Kotlin.
Smart Code Completion
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. The IDE provides code completion not only in your Java or Kotlin files, but also in configuration properties files, URL path references, and many more situations.
Inspections and quick-fixes
IntelliJ IDEA detects errors and probable bugs in your Spring project even before you compile and run it. IntelliJ IDEA has dozens of Spring-specific inspections covering a wide range of problems, such as bean class autowiring errors and incorrect profile expressions. Whenever the IDE detects a problem, it shows you an explanation and offers several fixes.
Refactor your code the intelligent way, with safe Rename and Delete, Extract Method, Introduce Variable, Inline Variable or Method, and other refactorings. Knowing everything about the usages of every symbol in your code, IntelliJ IDEA offers extremely effective, thorough refactorings. For example, when you Rename a class within a JPA statement, it will update everything, from the JPA entity class to every JPA expression where it is used.
Instant Code Navigation
Take advantage of the rich navigation capabilities that IntelliJ IDEA offers.
Navigation through gutter icons
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.
Easy client-service navigation
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 started with ease
Generate a Spring Boot project right from inside your IDE
Spring Boot project creation
IntelliJ IDEA provides the Spring Initializr project wizard, which integrates with the Spring Initializr API to generate and import your project directly from the IDE. The project wizard will walk you through the initial configuration where you can specify the name, Java version, build tool, extensions, and other options for your new Spring project.
Built-in Developer Tools
Get all the tools you need bundled right from the start without having to find and install plugins.
Running Spring applications
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.
Testing Spring applications
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.
Editor-based HTTP client
Compose, edit, and execute HTTP requests right in the editor while testing your web service with the integrated editor-based HTTP client. You can save your HTTP requests in a file and reuse them later. You can even add those request templates to your version control system and have them available directly in your project.
Easy access to HTTP request mappings
Access HTTP request mappings from the editor via the editor-based HTTP client. Methods annotated with @RequestMapping or @GetMapping have gutter icons that let you use the HTTP client to make a request to the given URI.
Manage your request mappings from the Endpoints tool window.
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.
Spring Beans Dependencies diagram
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.
Use the Neighborhood Mode feature to display only the dependencies of selected beans. You can also switch to the Borderless View to make the diagram even easier to read.
Spring Application Context Dependencies 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, from your Spring configuration.
Spring Runtime Beans diagram
Get a better understanding of the dependencies between beans in the runtime of your Spring Boot application with the Spring Runtime Beans diagram.
Spring tool window
View the definitions of the Spring beans used in your project, and see how they are related to other beans, in the Spring tool window. You can also navigate between Spring components and dependencies from this tool window.
Endpoints tool window
Get an aggregated view of the client and server APIs used in your project for HTTP and WebSocket protocols in the Endpoints tool window. You can generate an HTTP request based on the selected endpoint right from this tool window.
Capable and Ergonomic
Every aspect of IntelliJ IDEA has been designed to maximize developer productivity.
The combination of intelligent coding assistance and ergonomic design make development not only productive but also enjoyable.
Learn more about IntelliJ IDEA
What Developers Say About Us
Developer Advocate, Java Champion Spring
"I first tried IntelliJ IDEA when the Java Developers Journal or Java World or some such journal awarded it the "best IDE" in few years later, Apache Maven got good and suddenly the teams I worked on could ditch the corporate mandated IDEs (like JBuilder!), whose configuration file droppings teams had to version control, and embrace their preferences, like IntelliJ IDEA. I used IntelliJ IDEA and haven't looked back. It's always been polished (it had transparent UI panels. In 2002! In Swing!) and it was feature-packed. Every release featured integrations for new technologies, some of which I didn't even know I would want to use until they showed up in IntelliJ IDEA. Nowadays, 18+ years later, I know the key commands and I know the tool fairly well, and I finally feel like the only bottleneck in my development cycle is me, not the tooling. And that's as it should be. I love IntelliJ IDEA, even if I am constantly frustrated that I have nobody to blame for a lack of productivity but myself."
Software Technologist/Engineer IBM
"IntelliJ IDEA is undoubtedly the top-choice IDE for software developers. Efficiency and intelligence are built into the design, which enables a very smooth development workflow experience, from design, implementation, building, deploying, testing, and debugging, to refactoring! It is loaded with features and also offers a plethora of plugins that we can integrate into the editor. I switched to using IntelliJ IDEA 5 years ago and have never looked back. It has certainly made my life easier. I am producing more with less effort."
Owner/CEO Java Champion
"I always feel happy and at home when working on my projects using IntelliJ IDEA Ultimate Edition. First of all, it makes me productive and does a lot in a short time.
It is like a Swiss Army knife, providing me with all the features and tools I need to finish the task at hand seamlessly and more effectively. And it comes complete with excellent code tips and amazing testing support.
As an architect, I need to check for my team's work., So iIt is easy to get projects from Git-based repositories to open mobile applications, frontend, and backend projects, whatever the language is, with just a few clicks. aAnd they are all are in one toolbox.
Besides, mainly when I am doing microservices, all of the cloud-native tools and runtime environments are out there as plugins, so it increases my focus more because there is no need to switch between many tools from the IDE. I really loved it."
Senior Software Engineer, Java Champion
"I first tried IntelliJ IDEA when the Java Developers Journal or Java World or some such journal awarded it the "best IDE" in 2002. A few years later, Apache Maven got good and suddenly the teams I worked on could ditch the corporate mandated IDEs (like JBuilder!), whose configuration file droppings teams had to version control, and embrace their preferences, like IntelliJ IDEA. I used IntelliJ IDEA and haven't looked back. It's always been polished (it had transparent UI panels. In 2002! In Swing!) and it was feature-packed. Every release featured integrations for new technologies, some of which I didn't even know I would want to use until they showed up in IntelliJ IDEA. Nowadays, 18+ years later, I know the key commands and I know the tool fairly well, and I finally feel like the only bottleneck in my development cycle is me, not the tooling. And that's as it should be. I love IntelliJ IDEA, even if I am constantly frustrated that I have nobody to blame for a lack of productivity but myself."
Groundbreakers Ambassador; CTO
"What I like the most about IntelliJ IDEA, far beyond all the technology integrations, shortcuts, and that kind of stuff that makes us more productive, are the simple and smart suggestions. They suggest how to name everything, applying naming conventions that give us best practices, or they give us instructions on how to migrate to new Java features. This is one of the characteristics that I highlight in talks with students."
Senior Developer Advocate, Java Champion
"I'm an old school developer, so I didn't move to IntelliJ IDEA when all the cool kids did. However, when I started teaching coding workshops for engineers, the participants asked if they could use it. I realized then that I should try it. Wow, was I missing out! I've been using it extensively ever since and love how efficient it makes me as a developer."