私はSpring Cloud Config Serverを独学しており、プロパティをBeanに注入するのに問題があります。
したがって、テスト用に、構成クライアントとして単純な Spring Boot アプリケーションがあります。
@SpringBootApplication
@ConfigurationProperties
public class DemoApplication {
@Value("${greeting}")
static private String greeting;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
System.out.println("The greeting is: " + greeting);
}
}
しかし、システムは次のように出力します:
The greeting is: null
env エンドポイントを確認すると、実際に"${greeting}"
プロパティが環境内にあることがわかりました。
profiles: [ ],
configService:https://github.com/mstine/config-repo.git/demo.yml: {
greeting: "Webhook"
},
configService:https://github.com/mstine/config-repo.git/application.yml: {
eureka.instance.hostname: "localhost",
eureka.instance.leaseRenewalIntervalInSeconds: 10,
eureka.instance.metadataMap.instanceId: "${vcap.application.instance_id:${spring.application.name}:${server.port:8080}}",
eureka.client.serviceUrl.defaultZone: "${vcap.services.service-registry.credentials.uri:http://127.0.0.1:8761}/eureka/",
foo: "barnyardAnimal"
},
には、値を持つconfigService
と呼ばれるプロパティがあることに注意してください。greeting
"Webhook"
私はSpring Frameworkが初めてなので、何かを台無しにしていないのではないかと思っていますか? を使用して外部プロパティにアクセスすることもできると誰かが提案してEnvironment
いますが、使用方法のチュートリアルがあまり見つかりませんでした。何か考えはありますか?
===================================更新============== ======================== 設定サーバーのコードを追加:
アプリケーション.java:
package io.spring.cloud.samples.fortuneteller.configserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
アプリケーション.yml:
server:
port: 8888
spring:
cloud:
config:
server:
git:
uri: https://github.com/mstine/config-repo.git