【问题标题】:class field has both @Autowired annotation and right hand assignment类字段同时具有@Autowired 注释和右手赋值
【发布时间】:2014-10-22 14:15:50
【问题描述】:

在 Spring Boot 的源代码中,我对同时具有 @Autowired 注释和右手赋值的类字段感到困惑。

@Autowired
private ResourceProperties resourceProperties = new ResourceProperties();

位于https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.java

换句话说,这个字段被配置为字段注入,但它也是使用new 运算符直接分配的。这个变量实际上分配了什么?

【问题讨论】:

    标签: java spring dependency-injection spring-boot


    【解决方案1】:

    创建实例时,初始化表达式的值将分配给该字段。当AutowiredBeanPostProcessor 处理该字段时,它将为其分配一个新值。

    如果您希望在 Spring 上下文之外运行同一个类,您会编写这样的代码。

    【讨论】:

      猜你喜欢
      • 2019-09-16
      • 2015-04-25
      • 2016-02-01
      • 2011-10-16
      • 2014-02-12
      • 2017-12-06
      • 2011-09-11
      • 2015-07-26
      • 2019-03-23
      相关资源
      最近更新 更多