2017-03-02 5 views
2

나는 스프링 부트 응용 프로그램을 보유하고 있으며 영사 대리인에 대한 속성을 얻고 싶습니다. 스프링 부트 영사 서버에서 속성 가져 오기

@EnableDiscoveryClient 
@SpringBootApplication(scanBasePackages={"com.commons"}) 
public class MainAppProxy implements CommandLineRunner {  
    @Value("${proxy.endpoint}") 
    private String endpointAddress; 

내 application.properties

나는 다음과 같은 설정 (짧은 버전)

  <artifactId>spring-cloud-dependencies</artifactId> 
      <version>Camden.SR5</version> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-config</artifactId> 

속성이에 저장되어있는 SRC/메인/자원의 pom.xml에서

spring.application.name=SOAPProxy 
spring.cloud.consul.host=http://10.0.1.241 
spring.cloud.consul.port=8500 
spring.cloud.config.discovery.enabled=false 

을 받고있다 영사관 형식 : 비즈니스/SOAPProxy/proxy.endpoint

응용 프로그램이 부팅 될 때 영사를 찾은 것 같지만 영사가되기 전에 가능한 한 값을 얻을 수 없습니다 @ 012ue ("$ {proxy.endpoint}") 영사관에서 등록 정보를 어떻게 얻을 수 있습니까?

+0

당신이 영사의 구성을 받아야 할 응용 프로그램의 모든 구성 부하? – wthamira

답변

1

당신은 영사로부터 구성을로드하는 세 가지 방법을 사용할 수 있습니다

  1. 키/값
  2. YAML
  3. 파일

내가 구성을로드 YAML에 사용됩니다.

이 내 bootstrap.yml 파일이

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 

내 부팅 응용 프로그램은 메이븐 의존성이

<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> 
같은 추가
@EnableDiscoveryClient 
@EnableAutoConfiguration 
@SpringBootApplication 
public class SpringBootConsulApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(SpringBootConsulApplication.class, args); 
    } 
} 

아래처럼 주석 (당신은 또한 .property 파일을 사용할 수 있습니다)입니다

영사관 키/값

의 구성입니다. 시작에서 지금은3210

enter image description here