# 将 Spring 支持添加到现有项目

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

IntelliJ IDEA 会根据 XML 配置或  `@Configuration` 注解自动检测您的项目中的 Spring。 通常情况下，一个 Spring 项目不需要手动配置，大多数功能可以在不添加 Spring facet 的情况下使用。

但是，如果您有多个 Spring 应用程序上下文，您必须将现有配置文件映射到应用程序上下文，这样 IntelliJ IDEA 才能提供正确的编码支持并在 bean 定义中启用边栏图标。 IDE 将通知您项目是否需要额外配置，如果配置文件未映射到任何应用程序上下文，会在配置文件顶部显示警告。 您还可以使用 [专用操作](#check-spring-configuration)检查 Spring 配置。 要将配置文件映射到应用程序上下文，您需要执行以下操作：

* 在项目设置中， [添加 Spring facet](#add-spring-facet)。

* [创建应用上下文](#create-application-context)。

Procedure: 添加 Spring Facet

1. 在主菜单中，前往  `文件 | 项目结构…` 或按 `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))以打开   项目结构  对话框。

2. 从左侧列表中选择   模块  。

3. 选择必要的模块，然后点击 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)。

4. 从列表中选择   Spring  。

此时，您可能已经看到了自动检测到的上下文和配置文件以及未映射的文件。

![Spring 添加 Facet](https://resources.jetbrains.com.cn/help/img/idea/2026.3/spring_add_facet.png)

Procedure: 创建应用程序上下文

1. 在项目结构 ( `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))) 中，在  `项目设置 | Facets`  下，选择添加的   Spring   范畴。

2. 点击 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)创建一个新的上下文。

3. 在   新建应用程序上下文  对话框中，指定上下文的名称并选择应在上下文中使用的配置文件（可以是 XML 文件或带有  `@Configuration` 注释的源代码文件）。

![Spring 添加 Facet](https://resources.jetbrains.com.cn/help/img/idea/2026.3/spring_add_application_context.png)

如果您的项目配置正确，您将看到 Spring 槽图标标记每个组件、bean 等。 要配置装订区域图标，请使用 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开 IDE 设置，并转到  `编辑器 | 常规 | 装订线图标` 。

Procedure: 检查 Spring 配置

如果您有未映射的配置文件，相应的警告将显示在  `文件 | 项目结构…` 中，并在配置文件在编辑器中打开时显示在顶部。 如果有疑问，您可以使用专用操作检查 Spring 配置。

1. 按两次 `Shift` (Windows), `Shift` (macOS), `Shift` (IntelliJ IDEA Classic (macOS)), `Shift` (macOS System Shortcuts), `Shift` (XWin), `Shift` (GNOME), `Shift` (KDE), `Shift` (Emacs), `Shift` (Sublime Text), `Shift` (Sublime Text (macOS)), `Shift` (Visual Studio), `Shift` (Visual Studio (macOS)), `Shift` (NetBeans), `Shift` (Eclipse), `Shift` (Eclipse (macOS)) 打开搜索窗口并转到   操作   选项卡，或仅按 `Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS))。

2. 在搜索字段中输入   检查 Spring 配置   并选择相应的操作。 如果您的项目有未映射的配置文件，将会显示通知。

3. 点击具有未映射文件数量的链接（例如，   2 个文件  ），然后选择其中一个文件。 这将会在编辑器中打开文件，您可以选择一个可用的上下文，或者 [创建新的上下文](#create-application-context)。

## 配置父上下文

IntelliJ IDEA 允许您在上下文之间配置父子关系。 父上下文中的 Bean 对子上下文中的 Bean 可见，反之则不然。 因此，来自子上下文的 bean 可以使用父上下文的配置。

例如，Spring MVC 应用程序通常有两个上下文：一个用于 web 层 bean，另一个用于服务和存储库。 在这种情况下，web 层上下文将是一个子上下文，因为您需要将服务注入控制器，而不是相反。

要配置父上下文，请按照   新建应用程序上下文   中的说明使用 [创建应用程序上下文](#create-application-context) 对话框。

多个上下文   面板显示在包含在两个或多个应用程序上下文中的文件的编辑器顶部。 您可以使用此面板选择活动上下文，例如，如果您想使用特定配置运行您的应用程序，并更改高亮显示。 要禁用该面板，请点击 ![“设置”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.settings.svg)并清除   显示多个上下文面板  复选框。

> **Note:**
> IntelliJ IDEA 可以自动配置父上下文。 例如，如果 IDE 检测到 Spring Cloud 上下文，它将使其成为 Spring Boot 的父应用程序上下文。

## 更改活动配置文件

Spring 允许您将特定的上下文或 bean 映射到不同的配置文件，例如，  test  或  production 。 这样，您可以在不同环境中激活不同的配置文件。

如果在项目中定义了至少一个 profile，IntelliJ IDEA 将在配置 bean 文件的编辑器顶部显示一个特殊面板。 您可以使用此面板查看当前配置文件名称并更改活动配置文件。

> **Tip:**
> 您还可以在 [Spring 工具窗口](spring-tool-window.html) 中更改激活的配置文件。 右键点击组件，然后选择   更改活动 Spring 配置文件  。

Procedure: 更改活动配置文件

1. 点击面板上的   更改配置文件  。

2. 选择要映射配置文件的组件。 这可以是整个项目、当前模块或当前上下文。

3. 请选择您要映射此组件的配置文件。

![更改 Spring 配置文件](https://resources.jetbrains.com.cn/help/img/idea/2026.3/spring_change_profiles.png)

如果您想隐藏面板，请点击 ![“设置”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.settings.svg) 并清除   显示配置面板   复选框。

Procedure: 共享 facet 设置

您可以通过创建自定义 Facet，并将带有  `.iml`  扩展程序的模块文件添加到版本控制系统来更改和共享设置。

例如，要在您的团队中共享应用上下文，您可以创建一个 Spring facet 并提交其设置。

1. 在主菜单中，转到  `文件 | 项目结构`  或按 `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))。 然后选择   模块  。

2. 请确保已选择要添加 Facet 的模块，然后点击模块列表上方的 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.add.svg)。 在可用 Facet 列表中，选择   Spring  。

![添加 Spring Facet](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add_spring_facet.png)

3. 在右侧部分，点击 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.add.svg) 以添加新的应用程序上下文。

4. 为该上下文命名，点击 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.add.svg)，选择一个上下文类型，然后选择您电脑上的文件。

5. 重新打开项目。 之后，更改将显示在已添加 Facet 的模块的  `.iml`  文件中。

![模块文件中的 Spring Facet](https://resources.jetbrains.com.cn/help/img/idea/2026.3/spring_facet_iml.png)

6. [将 .iml 文件添加](adding-files-to-version-control.html#add-files-to-vcs)到版本控制系统。

