1:IOC
IOC即控制反转,将对象的创建,以及对象间的相互调用交给了spring的IOC容器管理,降低了耦合度。
2:构造器实例化对象
首选构造器实例化:
java类:默认存在一个空参构造器
public class testBean {
public void testPrint(){
System.out.println("testBean");
}
}
spring.xml:
<bean id="testBean" class="Pojo.testBean"></bean>
test:
@Test
public void test1(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
testBean bean = (testBean) context.getBean("testBean");
bean.testPrint();//testBean
}
3:静态工厂实例化对象
静态工厂类:
存在一个静态的方法返回testBean对象
public class staticFactory {
public static testBean createTestBean(){
return new testBean();
}
}
spring.xml:
id:唯一标识符
class:静态工厂类的类路径
factory-method:静态的返回实例化对象的方法
<bean name="testBean" class="factory.staticFactory" factory-method="createTestBean"></bean>
4:实例化工厂实例化对象
实例化工厂类:
提供一个非静态返回bean对象的方法
public class dynamicFactory {
public testBean createBean(){
return new testBean();
}
}
spring.xml:
先实例化工厂,再通过引用该动态工厂bean,指定生成 需要被实例化的bena 的方法。
factory-bean:引用动态工厂
factory-method:指定方法
<bean id="dynamicFactory" class="factory.dynamicFactory"></bean>
<bean id="testBean" factory-bean="dynamicFactory" factory-method="createBean"></bean>