使用@inject和applicationContext.xml进行注入之间的区别

时间:2013-02-27 14:38:34

标签: java spring cdi

Spring如何在

之间注入引用的bean有什么不同

MyClass.java

public class MyClass {
    @Inject
    @Named("myNiceBean")
    private MyBean bean;
    public MyBean getBean() { return bean; }
    public void setBean(MyBean bean) { this.bean = bean; }
}

的applicationContext.xml

<bean id="myNiceBean" class="com.exemple.DummyBean" />

public class MyClass {
    private MyBean bean;
    public MyBean getBean() { return bean; }
    public void setBean(MyBean bean) { this.bean = bean; }
}

的applicationContext.xml

<bean id="myNiceBean" class="com.exemple.DummyBean" />
<bean id="myClass" class="com.exemple.MyClass">
    <property name="bean" ref="myNiceBean"/>
</bean>

1 个答案:

答案 0 :(得分:1)

第一个例子只是使用带注释的方法来注入bean。实际上,不需要setter和getter方法,Spring会处理这个问题。在第二(手动)注射实例中,设定器和放大器需要的getter方法