我正在尝试使用@ConfigurationValuewhich 应该从中读取值project-defaults.yml,但是,我遇到了奇怪的行为,请参阅下面的代码。
我的控制器:
@ApplicationScoped
@Path("/app")
public class MyController {
@Inject
@ConfigurationValue("database.name")
private String name;
@GET
@Path("/name-1")
@Produces(MediaType.TEXT_PLAIN)
public String name1() {
return String.valueOf(name); // displays postgres
}
@GET
@Path("/name-2")
@Produces(MediaType.TEXT_PLAIN)
public String name2() {
return String.valueOf(new Configuration().getName()); // displays null
}
}
@ApplicationScoped
class Configuration {
@Inject
@ConfigurationValue("database.name")
private String name;
public String getName() {
return name;
}
}
项目-defaults.yml
database:
name: postgres
该值database.name
在MyController
类内部使用时被注入,但在Configuration
类内部时不注入。
我正在使用 thorntail 版本2.3.0.Final-SNAPSHOT
。
你有什么想法可能导致它?谢谢。
相关分类