作用
spring ioc是spring的特性,称为控制反转。将对象的创建、初始化和销毁交由容器管理。实现方式有依赖查找和依赖注入。
原理
在spring容器启动的时候,通过反射的方式,主动加载(或延迟加载)我们主动配置的bean以及该bean的依赖对象。
好处
在不同的业务之间的相互调用,我们无需去关注业务对象的产生。而更注重业务之间的逻辑,这在复杂工程中显得尤为重要。
spring构造对象的三种方法
采用默认的构造函数创建
1
<bean class="com.mc.base.learn.spring.bean.Person" id="person">
静态工厂创建
1
<bean id="bean" class="com.mc.base.learn.spring.factory.PersonStaticFactory" factory-method="createPerson">
实例化工厂
1
2
3<!-- 实例工程方法需要先创建工厂实例,然后在创建所需对象的时候,将其赋值为factory-bean -->
<bean id="personFactory" class="com.mc.base.learn.spring.factory.PersonFactory"></bean>
<bean id="person2" factory-bean="personFactory" factory-method="createInstance"></bean>
spring初始化的三种方式
- 通过实现
InitializingBean/DisposableBean
接口来定制初始化之后/销毁之前的操作方法; - 通过
<bean>
元素的init-method/destroy-method
属性指定初始化之后 /销毁之前调用的操作方法; - 在指定方法上加上@PostConstruct 或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调用