Configure the Spring facet
To use Spring in your project, you need the Spring facet that comprises libraries and UI elements for configuring Spring-specific settings.
IntelliJ IDEA automatically detects Spring configuration in your code. The IDE will inform you if the project requires any adjustements and will suggest the necessary actions. So normally, you need no manual configuration.
However, if IntelliJ IDEA could not detect configuration files automatically, you can add the facet manually:
Manually add Spring support to existing modules
Press Ctrl+Shift+Alt+S to open the Project Structure dialog.
From the left-hand list, select Modules.
Select the necessary module and click the button in the middle section.
Select Spring from the list.
You might need to set up a library when adding the facet. In this case, click Fix at the bottom of the window next to a warning message.
If you already have a Spring library, you can use it as is, or create a new library using JAR files on your computer. In this case, select the Use library option.
If you do not have a library, select Download.
If the Spring facet is configured correctly, you will see Spring gutter icons marking each component, bean, and so on. To configure gutter icons, press Ctrl+Alt+S and go to.
Create an application context
Spring application context is a way of grouping configuration files in IntelliJ IDEA. When you create a context, you let IntelliJ IDEA understand relationship between configuration files included into this context.
You can create as many application contexts as you need; any configuration file may be included in more than one context.
Press Ctrl+Shift+Alt+S and select Facets.
Select the Spring facet from the list and click the button in the right-hand section.
In the New Application Context dialog, enter a name, and select files you want to include in the context.
Configure a parent context
IntelliJ IDEA allows you to configure a parent-child relationship between contexts. Beans from a parent context are visible to beans in child contexts, but not vice versa. Therefore, beans from child contexts can use configuration from the parent context.
For example, Spring MVC applications usually have two contexts. One context belongs to web layer beans, another context is used for services and repositories. The web layer context will be a child context in this case, as you need to inject services into controllers, not other way around.
To configure a parent context, use the New Application Context dialog.
The Multiple Context panel shows up on top of the editor for files included into two or more application contexts. You can use this panel to select another active context, for example, if you want to run your application with different configuration, and change highlighting.
To disable the panel, click the button, and clear the Show Multiple Context panel checkbox.
Change active profiles
Spring allows you to map specific contexts or beans to different profiles — for example, test or production. This way, you can activate different profiles in different environments.
If you have defined at least one profile in your project, IntelliJ IDEA will show a special panel on top of the editor. You can use this panel to view the current profile name and to change active profiles:
Click Change Profiles on the panel.
Select the component to which you want to map the profile. This can be either an entire project, the current module, or context.
Select the profile to which you want to map this component.
If you want to hide the panel, click on it. In the next dialog, clear the Show Profiles Panel checkbox.