Spring Boot属性未加载2.1.5

时间:2019-06-02 00:51:31

标签: spring-boot configuration

我编写了一个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

我已经花了几个小时在此上,但无法弄清楚为什么这些属性无法加载。非常感谢您为解决此问题提供帮助

1 个答案:

答案 0 :(得分:0)

问题是我缺少最后一个前缀:

@ConfigurationProperties(prefix =“ myservices.clients.printservice”)