是否有人知道何时将自动装配的文件(如果没有与via构造函数或set方法有区别)的值注入到使用它的类中?
例如,我正在尝试注入值serverProperties。正如我所知,该字段没有得到我尝试使用它时注入的值设置类字段ROOT_DIRECTORY的初始值,其中serverProperties抛出Null指针异常。注射实际发生时?在所有类字段初始化之后?提前致谢。
PS:持有bean是一个带注释的控制器。
@Autowired
@Qualifier("serverProperties")
private Properties serverProperties;
private final String ROOT_DIRECTORY = serverProperties.getProperty("root.path");
答案 0 :(得分:2)
如果您使用的是注释,则可以使用@PostConstruct
答案 1 :(得分:1)
豆是
@Autowired
属性)在第三步中,您需要设置ROOT_DIRECTORY
,而不是仅仅在类体中定义它。所以你的代码看起来应该是
@Autowired
@Qualifier("serverProperties")
private Properties serverProperties;
private String ROOT_DIRECTORY;
public void init() {
ROOT_DIRECTORY = serverProperties.getProperty("root.path");
}
并且您的bean应该有一个定义的init
方法,如
<bean id="exampleInitBean" class="examples.ExampleBean" init-method="init"/>