Spring与IoC之Bean的装配

Spring 与 IoC

控制反转(IoC, Inversion of Control),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。当前比较流行的 IoC 实现方式有两种:依赖注入和依赖查找。

  • 依赖查找: Dependency Lookup, DL,容器提供回调接口和上下文环境给组件,程序代码则需要提供具体的查找方式。比较典型的是依赖于 JNDI 系统的查找。
  • 依赖注入: Dependency Injection, DI,程序代码不做定位查询,这些工作由容器自行完成。

依赖注入是目前最优秀的解耦方式。依赖注入让 Spring 的 Bean 之间以配置文件的方式组织在一起,而不是以硬编码的方式耦合在一起的。

Spring 程序开发

  1. 定义接口与实体类
public interface ISomeService {
   
	void doSome();
}
public class SomeServiceImpl implements ISomeService {
   

	public SomeServiceImpl() {
   
		System.out.println("执行无参构造器");
	}
	@Override
	public void doSome() {
   
		System.out.println("执行doSome()方法");
	}

}
  1. 创建 Spring 配置文件

Spring 配置文件的文件名可以随意,但 Spring 建议的名称为 applicationContext.xml。

    <bean id="myService" class="com.huang.service.SomeServiceImpl"/>
  • <bean />: 用于定义一个实例对象。 一个实例对应一个 bean 元素。
  • id:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean, Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。
  • class:指定该 Bean 所属的类,
  1. 定义测试类

(1) ApplicationContext 接口容器
ApplicationContext 用于加载 Spring 的配置文件,在程序中充当“容器”的角色。其实现类有两个:ClassPathXmlApplicationContext 和 FileSystemXmlApplicationContext

	@Test
	public void test02() {
   
		// 创建容器对象,加载Spring配置文件
		// 从类路径下查找配置文件
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
		//从容器中获取对象
		ISomeService service = (ISomeService) ac.getBean("myService");
		service.doSome();
	}
	@Test
	public void test03() {
   
		// 创建容器对象,加载Spring配置文件
		// 从项目的根下查找配置文件
		ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");
		//从容器中获取对象
		ISomeService service = (ISomeService) ac.getBean("myService");
		service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值