Spring学习-06:IOC容器装配Bean(xml配置方式)详解

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);
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值