1. 程式人生 > >利用Spring建立javaBean物件的幾種方法

利用Spring建立javaBean物件的幾種方法

3種方法如下:
1.用構造器來例項化的方式
2.利用靜態工廠方法例項化的方式。
3.利用例項工廠方法例項化的方式。

小案例:
利用Spring呼叫構造器GregrianCalendar 建立Calendar例項。
利用Spring呼叫Calendar的靜態工廠方法getInstance()建立Calendar。

利用Spring建立GregorianCalendar 物件作為工廠,呼叫getTime()方法建立Date型別物件例項。

步驟:

1.在applicationContext.xml配置檔案加入以下的程式碼:

<!-- 1. 用構造器來例項化的方式的配置程式碼如下: -->

<beanid="calendarObj1"class="java.util.GregorianCalendar"></bean>

<!-- 2. 使用靜態工廠方法例項化的方式的配置程式碼如下: -->

<bean id="calendarObj2" class="java.util.Calendar" factory-method="getInstance">
	</bean>

<!-- 3. 使用例項工廠方法例項化的方式的配置程式碼如下: -->

<bean id="calendarObj3" class="java.util.GregorianCalendar"></bean>
	<bean id="dateObj" factory-bean="calendarObj3" factory-method="getTime">
	</bean>

2.在測試包org.spring.test下新增測試方法程式碼:
/**
	 * 利用Spring容器建立javaBean物件--三種方式
	 */
	@Test
	public void testCreateBeanObject() {
		// 例項化Spring容器示例
		String conf = "applicationContext.xml";
		ApplicationContext ac = new ClassPathXmlApplicationContext(conf);

		// 1. 用構造器來例項化的方式。
		// 利用Spring呼叫構造器 GregorianCalendar 建立 Calendar例項.
		// Calendar cal1 = (Calendar)ac.getBean("calendarObj1"); //方式1
		Calendar cal1 = ac.getBean("calendarObj1", Calendar.class); // 方式2
		System.out.println("cal1:" + cal1);

		// 2. 使用靜態工廠方法例項化的方式。
		// 利用Spring呼叫 Calendar 的靜態工廠方法getInstance() 建立 Calendar例項.
		Calendar cal2 = ac.getBean("calendarObj2", Calendar.class);
		System.out.println("cal2:" + cal2);

		// 3. 使用例項工廠方法例項化的方式。
		// 利用Spring建立 GregorianCalendar 物件作為工廠, 呼叫getTime()方法建立Date型別物件例項.
		Date date = ac.getBean("dateObj", Date.class);
		System.out.println("date:" + date);
	}

3.