没有getBean且没有注释的Spring注入

时间:2014-07-03 14:02:56

标签: java spring dependency-injection

我是从头开始编写我的第一个Spring应用程序。

我知道使用ApplicationContext注入依赖项的方法 - > getBean和注释@autowired(和其他人),但我正在处理现有的Spring项目,我不需要getBean注释。

它是如何运作的?

有人有线索吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

最喜欢基于XML的bean定义。 在类路径中查找定义bean的XML。

阅读文件。 XML-config有很好的文档记录。

PS: 尽可能不要使用ApplicationContext.getBean(...)...

答案 1 :(得分:0)

您也可以使用构造函数注入。

public class MyBean
{
   private MyOtherBean myOtherBean;

   public MyBean(MyOtherBean myOtherBean)
   {
      this.myOtherBean = myOtherBean;
   }
}

//your spring config xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<!-- Definition of your bean -->
<bean id="myBean" class="com.yourpackage.MyBean">
  <constructor-arg ref="myOtherBean"/>
</bean>

<bean id="myOtherBean" class="com.yourpackage.MyOtherBean"/>

</beans>