gpt4 book ai didi

java - 无法使用@Configuration.properties读取application.yml

转载 作者:行者123 更新时间:2023-12-02 01:51:25 25 4
gpt4 key购买 nike

这是我的 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;导入 lombok.Setter;

@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

关于java - 无法使用@Configuration.properties读取application.yml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52935459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com