有没有办法告诉IntelliJ特定的.properties
文件将被加载到项目的环境中?我们使用@PropertySource
注释来加载属性文件,并在几个地方加载由已配置属性确定的文件中的覆盖值,如下所示:
@Configuration
@PropertySource("classpath:com/example/package/db.properties")
@PropertySource("classpath:com/example/package/db.${db.instance}.properties")
public class DatabaseConfig {
private @Value("${db.someProperty}") String someDBProperty;
// ...
}
问题是在这些间接引用的文件中的一个,例如db.test.properties
,IntelliJ不知道是否/如何引用属性文件,因此它不能将任何条目与其用法绑定。 (奇怪的是,这些文件中列出的某些属性不会显示为“未使用的属性”,但即使这些也没有为“查找用户”搜索提供任何结果。直接命名文件没有问题,例如上面db.properties
。
有没有办法告诉IntelliJ这些文件是否创建了引用它们的额外虚拟@Configuration
文件?
答案 0 :(得分:4)
我就是这样做的:
这是我在其中一个项目中执行此操作的示例: https://github.com/SFRJ/springpractice/blob/master/src/main/java/part3/PropertiesLoaderConfiguration.java
顺便说一下,如果你使用多个属性源,你也可以这样做:
@PropertySources({
@PropertySource("a.properties"),
@PropertySource("b.properties")
})
答案 1 :(得分:3)
答案 2 :(得分:1)