Spring Boot :如何阅读application.properties一致?

nszi6y05  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(63)

我是一个使用Sping Boot 的初学者,在从src/main/resources中的application.properties文件阅读属性时遇到一些问题
我有一个包含两个软件包的应用程序:com.test.pkg1com.test.pkg2
带有**@SpringBootApplication注解得类位于com.test.pkg1中.
此软件包中的所有类都可以使用
@Value(“${prop_name}”)注解毫无问题地读取属性文件。
当我使用同样的方法从
com.test.pkg2**读取属性时,我只得到了占位符名称。

示例

来自com.test.pkg1的类的日志
属性值=测试//好!
来自com.test.pkg2的类的日志
属性值= ${prop_name} //为什么?
我很确定我漏掉了一些注解,但我有点迷路了。
谢谢
我使用的是Sping Boot 3.1.6,我使用Spring初始化器进行初始设置。我的IDE是Eclipse 2023-06。

7eumitmz

7eumitmz1#

问题可能与Sping Boot 应用程序的组件扫描配置有关。默认情况下,@SpringBootApplication annotation包括其所在的包及其子包用于组件扫描。因此,com.test.pkg1中的类会自动拾取,但com.test.pkg2中的类可能不是。确保Spring正在扫描com.test.pkg2中的类。您可以显式地将包包含在@SpringBootApplication annotation中,如下所示:

@SpringBootApplication(scanBasePackages = {"com.test.pkg1", "com.test.pkg2"})
public class YourApplication {
    // ...
}

字符串

相关问题