spring入门之IOC容器

来源:互联网 发布:js eval函数 编辑:程序博客网 时间:2024/05/18 01:14
IOC:其思想是反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源 应用IOC后,容器主动地将资源推送给它所管理的组件,组件选择一种合适的方式来接受资源
DI:是IOC的另一种表达方式:即组件以一些预先定义好的方式(例如setter方法)接受来自容器的资源注入


IOC的前身:
1、分离接口和实现
耦合度是最高的方式
2、采用工厂设计模式
耦合度降低
代码复杂

3、采用反转控制

创建IOC容器
在读取Bean配置创建Bean实例之前,必须对它进行实例化,只有在容器实例化后,才可以从IOC容器中获取Bean实例使用

配置bean
配置形式:
1、基于xml文件的方式
2、基于注解的方式
配置方式:
1、通过全类名(反射)
2、通过工厂方法
3、FactoryBean
依赖注入的方式:
1、属性注入
即通过setter方法注入Bean的属性值或依赖的对象  这是实际应用中最常用的注入方式
2、构造器注入
在<constructor-arg>元素里声明属性 这里没有name属性
IOC的实例有俩种形式:
1、BeanFactory:IOC容器的基本实现

BeanFactory是Spring框架的基础设施,面向Spring本身;
2、ApplicationContext:提供了更多的高级特征,是BeanFatory的子接口
ApplicationContext面向使用Spring框架的开发者,几乎所有的应用场合都直接使用ApplicationContext,并不会使用底层的BeanFatory
ApplicationContext的主要实现类
1、ClassPathXmlApplicationContext(从类路径下加载配置文件)
2、FileSystemXmlApplicationContext(从文件系统中加载配置文件)

从IOC容器中获取Bean实例

getBean() 
通过id获取:通过id定位到容器中的bean
  通过类型获取(类.class) 要求在bean中配置是唯一的

。。。

原创粉丝点击