反向控制/依赖注射两种主要形式
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;
}
}
分享到:
相关推荐
为了评估这两种形式的钙的生物等效性。 获得的数据表明,腹膜内注射40Ca PS和45Ca PS分别激活RNa / 40Ca和RNa / 45Ca交换,对心肌和脑组织的水合作用具有不同的年龄依赖性。 像在肌细胞膜中一样,Na / Ca交换比在...
- BJT由发射区、基区和集电区组成,常见的有NPN和PNP两种类型。 - 注射效率、基区输运因子和电流增益是BJT性能的关键参数。 - BJT的工作模式包括放大、饱和和截止,其放大作用基于载流子的注入和传输。 - 基区...
文章介绍并比较了两种构建反变形产品CAD模型的方法:一种是直接通过三角面片建模,另一种是通过逆向造型方法。三角面片建模的过程包括将通过CAE模拟得到的各节点的反变形量输入CAD软件,然后通过软件的特定功能将各...
它简单地展示了世界上的许多事情都存在着两种极端的状态。 3. **蜜蜂的信念是:** 蜜蜂代表了勤奋与合作的精神。它们通过集体的努力来构建家园,体现了团队协作的重要性以及个体为整体贡献的价值观。 4. **蝴蝶的...
11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...
11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...
11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...
11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...