天天看点

Spring IOC基础知识

轻量级:Spring是非侵入性的,使用spring的时候,不需要去实现spring给我们任何提供的接口,也不需要去继承spring给我们提供的任何父类。然后就可以使用spring给我们提供的功能。

核心内容:依赖注入(DI、IOC),面向切片编程(AOP)

IOC(反转资源获取的方向):容器主动地将资源推送给它所管理的组件,组建所要做的就是选择一种合适的方式来接受资源(ApplicationContext代表IOC容器)。

DI(依赖注入):组件以预先定义好的方式(setter方法)接受来自容器的资源注入。

配置bean:

class:bean的全类名,通过反射的方式在IOC容器中创建bean,所以要求bean中必须有无参数的构造器。

Spring提供了两种类型的IOC实现:

BeanFactory:IOC容器的基本实现,是Spring的基础设施,面向Spring本身。

ApplicationContext:提供更多的高级特性,是BeanFactory的子接口。面向Spring 的开发者,几乎所有的场合都是直接使用ApplicationContext,而非底层的BeanFactory。

Spring支持三种依赖注入的方式:

属性注入

——属性注入即通过setter方法注入Bean的属性值或者依赖的对象

——属性注入使用元素,使用name属性指定Bean的属性名称,value属性或子

节点指定属性值

构造注入

——通过构造方法注入Bean的属性或者依赖对象,它保证了Bean的实例化后就可以使用。

——构造器注入元素里申明属性。

工厂方法注入(不推荐)

字面值:

——可用字符串表示的值,可以通过元素标签或者value属性进行注入。

——基本数据类型或者封装类、String等类型都可以采取字面值注入的方式

——若直面值包含特殊字符,可以使用