在Spring Boot的源代码中,我对同时具有@Autowired
注释和右手赋值的类字段感到困惑。
@Autowired
private ResourceProperties resourceProperties = new ResourceProperties();
换句话说,此字段配置为字段注入,但也使用new
运算符直接分配。实际分配给这个变量的是什么?
答案 0 :(得分:8)
创建实例时,初始化表达式的值将分配给该字段。当AutowiredBeanPostProcessor
处理字段时,它会为其分配一个新值。
如果您希望在Spring的上下文之外运行相同的类,那么您将编写这样的代码。