Spring框架Bean实例化的方式:

1、构造方法实例化:(默认无参数)默认情况下采用的就是这种方式

2、静态工厂实例化:

3、实例工厂实例化:

一、无参数构造方法的实例化:

(1)新建类Bean1.java:

package com.js.demo2;
/**
 * 使用无参数的构造方法来实例化
 * @author js
 *
 */
public class Bean1 {

}
(2)在applicationContext文件中配置Bean1:

<bean id="Bean1" class="com.js.demo2.Bean1"></bean>
(3)新建测试类SpringTest2.java:

package com.js.demo2;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * Bean的实例化测试
 * @author js
 *
 */
public class SpringTest2 {
	@Test
//	无参数的构造方法的实例化
	public void Demo1(){
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		Bean1 bean1=(Bean1)applicationContext.getBean("Bean1");
		System.out.println(bean1);
	}
}
二、 静态工厂实例化

(1)新建类Bean2.java:

package com.js.demo2;
/**
 * 静态工厂实例化
 * @author js
 *
 */
public class Bean2 {

}

(2)新建静态工厂Bean2Factory.java:

package com.js.demo2;
/**
 * Bean2的静态工厂
 * @author js
 *
 */
public class Bean2Factory {
	public static Bean2 getBean2(){
		System.out.println("静态工厂获得Bean2的方法");
		return new Bean2();
	}
}

(3)配置Bean2到applicationContext:

<bean id="Bean2" class="com.js.demo2.Bean2Factory" factory-method="getBean2"></bean>

(4)编写测试函数:

@Test
//	静态工厂的实例化
	public void Demo2(){
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		Bean2 bean2=(Bean2)applicationContext.getBean("Bean2");
		System.out.println(bean2);
	}

三、实例工厂实例化

(1)新建类Bean3.java:

package com.js.demo2;
/**
 * 实例工厂实例化
 * @author js
 *
 */
public class Bean3 {

}

(2)新建实例工厂Bean3Factory.java:

package com.js.demo2;
/**
 * 使用实例工厂
 * @author js
 *
 */
public class Bean3Factory {
	public Bean3 getBean3(){
		return new Bean3();
	}
}

(3)配置Bean3到applicationContext.xml:

<!-- 第三种,使用静态工厂实例化 -->
<bean id="Bean3" factory-bean="Bean3Factory" factory-method="getBean3"></bean>
<bean id="Bean3Factory" class="com.js.demo2.Bean3Factory"></bean>

(4)编写测试函数:

@Test
//	实例工厂的实例化
	public void Demo3(){
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		Bean3 bean3=(Bean3)applicationContext.getBean("Bean3");
		System.out.println(bean3);
	}


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐