2016-11-11 88 views
0

我們刨去了我們無數的.properties文件的內容移動到領事 我已經實現如下定義失敗使用Spring雲領事

@EnableAutoConfiguration 
@SpringBootApplication 
@EnableDiscoveryClient 
@RestController 
@EnableConfigurationProperties 
public class Application { 

    @Autowired 
    private Environment env; 

    @RequestMapping("/") 
    public String home() { 
     return env.getProperty("dc1/kv/property1/"); 
    } 
} 

與領事服務器在運行演示讀取遠程屬性默認

訪問的時刻env.getProperty("dc1/kv/property1/");返回任何

我POM看起來像這樣

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.1.RELEASE</version> 
    <relativePath /> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-dependencies</artifactId> 
      <version>Brixton.SR6</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-consul-dependencies</artifactId> 
      <version>1.0.2.RELEASE</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-consul-all</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

任何人都可以提供一些線索請開燈

+0

你能分享bootstrap.yml嗎? –

回答

1

你不像引用那樣引用屬性,而是像引用彈簧屬性一樣引用它們。默認情況下,spring-cloud-consul在/config上下文中查找。您是否需要將property1放入/config/property1並通過env.getProperty("property1")進行引用。對於/config/foo/property,你會在春季的環境中參考foo.property

+0

是的,它的工作也讓雲實習開發者回答我的問題!我仍然不清楚consul中概要文件的概念,如果我創建一個屬性爲/ config/myApp,dev/property1,我怎樣才能從Java Spring端讀取它?我必須使用@profile註釋我的控制器嗎? –

+0

設置'spring.profiles.active = dev'。 '@ Profile'用於限制配置或組件僅在該配置文件處於活動狀態時才創建。請參閱http://docs.spring.io/autorepo/docs/spring-boot/current/reference/html/boot-features-profiles.html – spencergibb