首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Boot属性未加载2.1.5

Spring Boot属性未加载2.1.5
EN

Stack Overflow用户
提问于 2019-06-02 08:51:31
回答 1查看 107关注 0票数 1

我已经编写了一个spring引导应用程序来监视作业,并连接了客户端的配置属性以调用作业服务中的服务。我在src/test/resources中使用了一个名为application-test.yml的yml文件。在运行测试时,我还将活动配置文件设置为-Dspring.profiles.active=' test‘,spring表示活动配置文件为test。但是,当我运行测试时,配置属性host和path始终为空。下面是我的配置文件:

代码语言:javascript
运行
复制
spring:
 profiles: test    

myservices:客户端:

代码语言:javascript
运行
复制
printservice:
  host: app/sms/appdev.com
  path: jobs/{jobId}

monitorNgService:
  host: app/monitor/appdev.com
  path: iqueue/jobs/{jobKey}/servers

下面是我的配置类:

代码语言:javascript
运行
复制
@Configuration
@ConfigurationProperties(prefix="myservices.clients")
 class  PrintServiceProperties{
 String host;
 String path;
 }

另一个configuration类加载yml文件中的第二个配置。对于host和path,它也有null。这是该文件;

代码语言:javascript
运行
复制
   @Configuration
   @ConfigurationProperties(prefix="myservices.clients")
   class  MonitorNgServiceProperties{
      String host;
      String path;
   }

我将这个类注入到一个使用这些属性的类中,但这些属性为空

这是类

代码语言:javascript
运行
复制
@Service


 @Import(MonitorNgServiceProperties)
   @Slf4j
   class MonitorService implements InitializingBean{
    @Autowired
    MonitorNgServiceProperties monitorNgService

我在这上面花了几个小时,但不明白为什么属性不能加载。如果您能帮助我解决这个问题,我将非常感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-02 09:34:21

问题是我漏掉了最后一个前缀:

代码语言:javascript
运行
复制
 @ConfigurationProperties(prefix="myservices.clients.printservice")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56411456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档