@Value("${test}")
public void setXxx(String test) {
Test.test = test;
}
遇到一个问题,如果这个static变量是要传给Test类的super方法调用:
public Test() {
super(test);
}
执行顺序是先调用构造方法,后调用set方法,不能满足需求。
解决方法1:
public Test(@Value("${test}") String test) {
super(test);
}
解决方法2:
把super父类中的用到test变量逻辑抽成了protected方法loadTest(test),在子类中调用,不再通过super传参调用:
public Test() {
super();
}
@PostConstruct
public void init() {
loadTest(test);
}
public Test(@Value("${test}") String test) {
super(test);
}
解决方法2:
把super父类中的用到test变量逻辑抽成了protected方法loadTest(test),在子类中调用,不再通过super传参调用:
public Test() {
super();
}
@PostConstruct
public void init() {
loadTest(test);
}
没有评论:
发表评论