spring - 如何在 IntelliJ IDEA 中选择配置文件?

标签 spring configuration intellij-idea notifications

为什么当我打开 Spring 配置文件并下拉选择配置文件时,IntelliJ IDEA 会打开一条消息?如果我选择关闭链接,为什么它不再出现?

最佳答案

当您在配置文件弹出窗口中单击“关闭”时,它会更改设置并禁用所有 spring 上下文的面板。 (所以你不只是为了那个文件和那个查看而关闭它。恕我直言,“关闭”这个名字有点误导。我认为“关闭”链接应该重命名为“禁用”。)你可以通过重新打开它: File > Settings > [IDE Settings] > Editor > Appearance > “Show Spring Profiles panel”(靠近底部)

编辑

UI 中的这个怪癖让我烦恼了一段时间。回答你的问题让我花了一点时间打开一个 usability -issue-report/feature-request改变它。请为它投票。

编辑 2 在您的评论中回答您的后续问题...

该设置仅适用于 IDE,在您运行或测试代码时不会产生任何影响。相反,它不会从您的代码中获取任何设置。它基本上设置了你、IDEA 和 IDEA 的检查“看到”的内容。它使得只有来自所选配置文件的 beans“在 IDE 中处于事件状态。这样您就可以在编辑代码和配置时在配置文件之间切换并获得该配置文件的有效表示。

例如,请看下面的屏幕截图。 (您可能需要在单独的浏览器选项卡中打开它才能查看详细信息。)其中我激活了“开发”配置文件。通过这样做,我获得了以下好处:

  1. IDEA 强调它无法解析我试图引用的 bean,我错误地只在(非事件的)'prod' 配置文件中定义了它。 (或者错误可能是 bean 在每个配置文件中具有不同的名称。)
  2. 当我触发代码完成以引用另一个 bean 时,IDEA 仅向我显示可用的 bean,包括事件配置文件中的 bean。请注意,它没有向我显示“beanDefOnlyInProdProfile”bean,因为它处于非事件配置文件中。 enter image description here

Java 类中的代码补全也是如此。请注意下面的两个代码完成仅向我显示事件配置文件中的 bean: enter image description here

关于spring - 如何在 IntelliJ IDEA 中选择配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19457913/

相关文章:

spring - @Autowired 是否只引用一个对象?

spring - 防止 Spring 中某些 bean 按类型 Autowiring

java - Spring Statemachine 状态操作与转换操作

php - 以编程方式检查 MySQL 的选项值(key_buffer_size、innodb_buffer_pool_size 等)

indexing - 禁用特定文件夹上的 intellij 索引

java - 如何为实体创建单独的项目?

database - 为什么 PostgreSQL 会吃掉我所有宝贵的 HD 空间?

java - Spring - 配置属性用法

java - 在提交时组织 Intellij 中的导入但忽略命名空间

java - IntelliJ 在类文件中的最后一个 '}' 之前插入空行