我有一个弹簧引导申请,我想得到的财产,我有领事代理。
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages={"com.commons"})
public class MainAppProxy implements CommandLineRunner {
@Value("${proxy.endpoint}")
private String endpointAddress;我的application.properties在src/main/resources下
spring.application.name=SOAPProxy
spring.cloud.consul.host=http://10.0.1.241
spring.cloud.consul.port=8500
spring.cloud.config.discovery.enabled=false在pom.xml中,我有以下配置(短版本)
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>这些属性以这种格式存储在领事上:Business/SOAPProxy/proxy.端点
当应用程序启动时,它似乎找到了领事,但它无法像在尝试consul @Value("${proxy.endpoint}")之前获得值一样,我如何才能在领事上获得这些属性?
发布于 2017-03-09 05:28:09
您可以使用三种方式从领事加载配置。
我在yaml中使用了加载配置。
这是我的bootstrap.yml文件(您也可以使用.property文件)
spring:
application:
name: SOAPProxy
---
spring:
profiles: default
cloud:
consul:
config:
data-key: data
prefix: config
format: yaml
host: localhost
port: 8500
discovery:
prefer-ip-address: true 我的引导应用程序注释如下
@EnableDiscoveryClient
@EnableAutoConfiguration
@SpringBootApplication
public class SpringBootConsulApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootConsulApplication.class, args);
}
}maven依赖添加如下
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>这是领事代理密钥/值的配置。

现在,在启动应用程序的所有配置负载。
https://stackoverflow.com/questions/42561136
复制相似问题