java - 如何在静态类中使用@Value?
问题描述
我的默认类中有一个静态类,如下所示:
public class SomeClass {
public static class AnotherClass {
//HERE I NEED TO USE @VALUE
//@Value("myBoolean")
//public boolean myBoolean; //always false, reason of the static class?
}
}
有人能告诉我为什么myBoolean
总是false
当我尝试在静态类中获取这个值但是什么时候在普通类中然后返回一个好的值?如何在静态类中获得价值?感谢您的任何回答
解决方案
好吧,从我的第一眼看,我建议通过使用@Component注释来制作静态的AnotherClass Spring 组件,这样 Spring 可以将其初始化为 bean,然后在找到@Value注释时使用依赖注入来填充特定值。
@Component
public class SomeClass {
@Component
public static class AnotherClass {
@Value("${myBoolean}")
public Boolean myBoolean;
@PostConstruct
void init() {
System.out.println(myBoolean); // you can see injected value on console
}
}
}
推荐阅读
- arrays - 在字典中组合(所有单独的)数组元素
- javascript - 类型ORM关系和表达
- python-3.x - 在 Python 错误中通过 Instagram Graph api 发表评论
- java - What should I set JAVA_HOME to using multiple jdks?
- mysql - 通过不按我的意愿工作来续集聚合组
- javascript - Javascript 待办事项列表应用程序。我无法删除最后剩余的 li 并清除所有按钮不起作用,只有本地存储被删除
- clickhouse - clickhouse create table 异常:在查询中发现聚合函数 minState(origin_user) 在错误的位置
- python - Pandas df如何解析列值以使用正则表达式将字符串提取为int
- python - TensorFlow 模型返回常量预测
- c++ - 无法从 QT(GUI) 中 QThread 内部的 QThread 发出信号