java - 当该 bean 已经通过 xml 设置了另一个属性时,是否可以通过 Autowiring 注入(inject)属性

标签 java spring dependency-injection

我正在尝试定义一个 bean。

<bean id="prop1" class="Prop1"/>

<bean id="myBean" class="myClass">
    <property name="prop2">
        <bean class="Prop2">
    </property>
</bean>

现在我有这门课了

public class myClass(){
    @Autowired
    private Prop1 prop1;
    private Prop2 prop2;

    public setProp2(Prop2 prop2){
        this.prop2 = prop2;
    }
    ...
}

我知道我可以向 myBean bean 添加属性,但我试图避免这种情况。现在我在 prop1 上得到了 null。是否可以初始化prop1?如果没有,请解释一下或给我一个链接来阅读此内容。

TIA

最佳答案

这应该可行。它可能无法正常工作,因为您可能缺少 AutowiredAnnotationPostProcessor,它是一个负责连接 @Autowired 依赖项的 Bean 后处理器。您只需将这些添加到 xml 配置文件中即可获得它:

<context:annoation-config/>

或者

<context:component-scan/>

关于java - 当该 bean 已经通过 xml 设置了另一个属性时,是否可以通过 Autowiring 注入(inject)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17832522/

相关文章:

java - 第一次使用JAVA中的方法和构造函数,在程序中收到错误以确定引发

java - 我们可以有选择地获取 Hibernate 中关联连接对象的列吗?

dependency-injection - 为通用接口(interface)和类对指定默认 Unity 类型映射

language-agnostic - 如何处理 .NET 中的构造函数过度注入(inject)

java - Android Eclipse - 找不到 *.apk

java - 为什么我会收到 javax.net.ssl.SSLHandshakeException : No subject alternative DNS name matching found exception when I see a wildcard entry

java - 在 Spring Boot 中发送 sendgrid 电子邮件的最简单方法

python - Pytest 在一个函数中两次使用相同的 fixture

java - Wsdl 到 Java OUT 参数

java - 更改spring security中的登录服务URL