一、IOC和DI
IOC:其思想是反转资源获取的方式。应用了IOC之后,容器将资源主动的推送给它所管理的组件,组件需要做的就是使用合理的方式来接收资源
DI:IOC的另一种表示方式。组件以一些预定义好的方式(如:setter方式)接收来自容器的资源注入。相对于ioc而言这样的表述更直接
二、spring配置Bean
- 配置形式:基于xml的形式。
- 配置方式:通过全类名(反射)
- Ioc容器BeanFactory & ApplicationContext概述
- 依赖注入的方式:属性注入,构造器注入
- 在实体类中必须要有无参的构造方法,因为在IOC容器读取配置之前必须对它进行实例化,之后才可以在ioc容器中获取Bean实例并使用。Spring 提供了两种IOC容器实现,BeanFactory ioc容器的基本实现。ApplicationContext 提供了更多的高级特性,是BeanFactory的子接口
三、Bean生命周期
Springioc 可以管理bean的声明周期,spring允许在bean的生命周期的特定点执行定制任务,管理过程:
---通过构造器或者工厂方法创建Bean实例;
---为bean的属性设置值或应用其他Bean
----调用Bean的初始化方法
-----bean可以使用了
-----当容器关闭时,调用Bean的销毁方法
在Bean的声明里设置,init-method 和 destory-method属性,为Bean指定初始化和销毁方法。
四、AOP
AOP面向切面编程,是对传统oop的补充
其主要编程思想是切面;
在应用AOP编程时,仍然需要定义公共功能,可以明确定义这个功能在哪里以什么方式应用,且不必修改受影响的类,如此来看,横切关注点就被模块化到特殊的对象(切面)里。
AOP优点:
每个事物逻辑位于一个位置,代码不分散。便于维护和升级。
业务某块更简洁,只包含核心业务代码。