反向控制/依赖注射两种主要形式 1、基于setter的依赖注射,是在调用无参的构造函数或者无参的静态工程方法实例化你的bean之后,通过调用你的bean上的setter方法实现的。(推荐) <bean id="exampleBean" class="example.ExampleBean"> <property name="beanOne"><ref bean="anotherExampleBean"/></property> <property name="beanTwo"><ref bean="yetAnthorBean"/></property> <property name="intergerProperty"><value>1</value></property> </bean> <bean id="anotherExampleBean" class="example.AnotherBean"> <bean id="yetAnoterBean" class="example.YetAntherBean"> public class ExampleBean{ private AntherBean beanOne; private YetAntherBean beanTwo; private int i; public void setBeanOne(AntherBean beanOne){ this.beanOne = beanOne; } public void setBeanTwo(YetAntherBean beanTwo){ this.beanTwo = beanTwo; } public void setIntegerProperty(int i){ this.i = i } } 见P20 spring-reference.pdf 2、基于构造函数的依赖注射,它时通过调用带有许多参数的构造方法实现的,每个参数表示一个合作者或者属性。 <bean id="exampleBean" class="example.ExampleBean"> <constructor-arg><ref bean="antherExampleBean"/></constructor=arg> <constructor-arg><ref bean="yetAntherBean"/></constructor=arg> <constructor-arg><value>1</value></constructor=arg> </bean> <bean id="antherExampleBean" class="examle.AntherBean"/> <bean id="yetAntherBean" class="example.YetAntherBean"/> public class ExamleBean{ private AntherBean beanOne; private YetAntoherBean beanTwo; private int i; public ExamleBean(AntherBean antherBean,YetAntherBean yetAntherBean,int i){ this.beanOne = antherBean; this.beanTwo = yetAntherBean; this.i = i; } }
评论
发表评论

您还没有登录,请登录后发表评论

kayo
搜索本博客
我的相册
Ad1461d2-8745-3eba-ab39-18389260fce2-thumb
s1125472579
共 14 张
最近加入圈子
存档
最新评论