[英]Can't read application.yml using @Configuration.properties
這是我的application.yml
文件:
server:
port: 8089
schedulers:
identity:
origin: http://localhost:7189
client-id: 72612d8e-b78e-446c-9397-354435696ec3
secret: 173a7f6a-8263-11e7-bb31-be2e44b06b34
username: integrationCLient
password: P@ssword
token-cache-backoff: 5
default-token-cache-ttl: 5
endpoints:
validateToken: /v3/api/validateToken
issueToken: /v3/api/oauth/v2/token
httpClient:
numOfRetries: 3
backOffInMillis: 5
couchbase:
bootstrapHost: localhost
bucket: default
connectionTimeout: 1000
我正在嘗試將該文件讀入我的Spring Boot應用程序。 以下是相關代碼:
@Configuration
@ConfigurationProperties(prefix = "schedulers")
@Getter
@Setter
public class CouchbaseConfig {
CouchbaseContext couchbaseContext = new CouchbaseContext();
@Bean
public Bucket bucket() {
System.out.println("askfjaslkfjafa" + couchbaseContext.getBootstrapHost()); //throws NPE
CouchbaseEnvironment env =
DefaultCouchbaseEnvironment.builder()
.connectTimeout(Long.parseLong(couchbaseContext.getConnectionTimeout()))
.build();
Cluster cluster = CouchbaseCluster.create(env, couchbaseContext.getBootstrapHost());
return cluster.openBucket(couchbaseContext.getBucket());
}
}
這是我的CouchbaseContext.java
文件:
導入lombok.Getter; 進口龍目島。
@Getter
@Setter
public class CouchbaseContext {
private String bootstrapHost;
private String bucket;
private String connectionTimeout;
}
我在嘗試訪問CouchbaseConfig.java
的couchbaseContext
對象時得到了NPE
。 有人可以幫我解決我做錯的事情嗎?
@EnableConfigurationProperties({
CouchbaseContext.class
})
@Configuration
public class CouchbaseConfig {
@Bean
public Bucket bucket(CouchbaseContext couchbaseContext) { ... }
}
此外,您可以在CouchbaseContext中刪除@Configuration
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.