@ConfigurationProperties没有拉动外部属性文件

时间:2017-05-09 17:07:18

标签: spring-boot cloud configserver

我已经在Git上创建了一个个人存储库,我保存了我的application.properties文件。

我创建了一个云配置服务器(' my-config-server')并使用了git存储库网址。

我绑定了我的spring-boot应用程序,该应用程序应该使用Git存储库访问外部属性文件。

@javax.jws.WebService(
                  serviceName = "myService",
                  portName = "my_service",
                  targetNamespace = "urn://vdc.com/xmlmessaging/SD",
                  wsdlLocation = "classpath:myService.wsdl",
                  endpointInterface = "com.my.service.SDType")

@PropertySource("application.properties") 
@ConfigurationProperties
public class SDTypeImpl implements SDType {

/*It has various services implementation that use following method**/

private SDObj getObj (BigDecimal value) {
    AnnotationConfigApplicationContext context =
                  new AnnotationConfigApplicationContext(
                          SDTypeImpl.class);
    SDObj obj = context.getBean(SDPropertiesUtil.class).getObj(value);
    context.close();
    return obj;
}

}

另一类:

public class SDPropertiesUtil {

@Autowired
public Environment env;

public SDObj getObj(BigDecimal value) {

String valueStr = env.getProperty(value.toString());
/*do logic*/ 
}

我的应用程序启动但无法从我的git存储库加载属性文件。

我相信我应该在我的应用程序中的src / main / resources上有一个application.properties但是因为我正在使用

@PropertySource("application.properties") 
@ConfigurationProperties

我告诉我的应用程序使用外部位置的application.properties而不使用内部属性文件。但这不会发生。我的应用程序仍在使用内部属性文件。

1 个答案:

答案 0 :(得分:0)

您提供的来源未显示您的应用配置设置以连接到配置服务器。你介意分享吗?

这是从客户端应用程序查询配置服务器的方式:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

假设Config服务器指向包含此文件的Git仓库: demo-config-client-development.properties

您应该能够将配置服务器查询为:

curl http://localhost:8101/demo-config-client-development.properties

假设Config Server在本地运行并在8181上进行侦听。

我们还假设您有一个名为 demo-config-client 的客户端应用程序,它连接到Config服务器并使用开发 Spring配置文件运行,此应用程序现在可以能够通过Config服务器读取Git仓库中托管的远程属性。

详细的教程可以在我的博客上找到:http://tech.asimio.net/2016/12/09/Centralized-and-Versioned-Configuration-using-Spring-Cloud-Config-Server-and-Git.html