读书人

小初学者学 Spring-Dependency injec

发布时间: 2013-09-06 10:17:17 作者: rapoo

小菜鸟学 Spring-Dependency injection(二)

注入方式一:set注入

<bean id="exampleBean" class="examples.ExampleBean"><property name="beanOne"><ref bean="anotherExampleBean"/></property><property name="beanTwo" ref="yetAnotherBean"/><property name="integerProperty" value="1"/></bean><bean id="anotherExampleBean" class="examples.AnotherBean"/><bean id="yetAnotherBean" class="examples.YetAnotherBean"/>

public class ExampleBean {  private AnotherBean beanOne;  private YetAnotherBean beanTwo;  private int i;  public void setBeanOne(AnotherBean beanOne) {      this.beanOne = beanOne;  }  public void setBeanTwo(YetAnotherBean beanTwo) {      this.beanTwo = beanTwo;  }  public void setIntegerProperty(int i) {      this.i = i;  }}

注入方式二:构造注入

<bean id="exampleBean" class="examples.ExampleBean"><constructor-arg>  <ref bean="anotherExampleBean"/></constructor-arg><constructor-arg ref="yetAnotherBean"/><constructor-arg type="int" value="1"/></bean><bean id="anotherExampleBean" class="examples.AnotherBean"/><bean id="yetAnotherBean" class="examples.YetAnotherBean"/>

public class ExampleBean {  private AnotherBean beanOne;  private YetAnotherBean beanTwo;  private int i;  public ExampleBean(      AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {      this.beanOne = anotherBean;      this.beanTwo = yetAnotherBean;      this.i = i;  }}

注入方式三:静态工厂方法注入

<bean id="exampleBean" class="examples.ExampleBean"    factory-method="createInstance"><constructor-arg ref="anotherExampleBean"/><constructor-arg ref="yetAnotherBean"/><constructor-arg value="1"/></bean><bean id="anotherExampleBean" class="examples.AnotherBean"/><bean id="yetAnotherBean" class="examples.YetAnotherBean"/>

public class ExampleBean {  private ExampleBean(...) {    ...  }  public static ExampleBean createInstance (          AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {      ExampleBean eb = new ExampleBean (...);      return eb;  }}

注入方式四:自动装配