我编写了一个Spring Boot应用程序来监视作业,并为客户端连接了配置属性以调用作业服务中的服务。我正在src / test / resources中使用一个名为application-test.yml的yml文件。我还将运行测试时的活动配置文件设置为-Dspring.profiles.active ='test',并且spring表示活动配置文件为test。但是,当我运行测试时,配置属性host和path始终为null。这是我的配置文件:
spring:
profiles: test
myservices: 客户:
printservice:
host: app/sms/appdev.com
path: jobs/{jobId}
monitorNgService:
host: app/monitor/appdev.com
path: iqueue/jobs/{jobKey}/servers
这是我的配置类:
@Configuration
@ConfigurationProperties(prefix="myservices.clients")
class PrintServiceProperties{
String host;
String path;
}
另一个配置类将第二个配置加载到yml文件中。主机和路径也为null。这是那个文件;
@Configuration
@ConfigurationProperties(prefix="myservices.clients")
class MonitorNgServiceProperties{
String host;
String path;
}
我正在将此类注入使用这些属性的类,但它们为空
这是班上
@Service
@Import(MonitorNgServiceProperties)
@Slf4j
class MonitorService implements InitializingBean{
@Autowired
MonitorNgServiceProperties monitorNgService
我已经花了几个小时在此上,但无法弄清楚为什么这些属性无法加载。非常感谢您为解决此问题提供帮助
答案 0 :(得分:0)
问题是我缺少最后一个前缀:
@ConfigurationProperties(prefix =“ myservices.clients.printservice”)