Spring的概述:Spring是一个轻量级控制反转和面向切面的容器框架。它主要是为了解决企业应用开发的复杂性而诞生的。
Spring的核心模块:
Spring AOP,Spring ORM,Spring DAO,Spring Web,Spring Context,Spring Web MVC,Spring Core
1:Spring IoC
IoC理论观念:通过IoC容器对原来相互依赖的对象相互解耦,由容器管理对象。(侧重理论和思想)
DI依赖注入:就是由IoC容器在运行期间,动态地将某种依赖关系注入到对象。(侧重具体实现)
2:Spring AoP 是一个设计思想
AoP设计的主要目的是将一些特殊的处理模块从业务逻辑模块中划分出来,防止代码混乱。
在应用中,常常通过AOP来处理一些具有横切性质的系统级服务,如事务管理,安全检查,缓存,对象池管理等。
实际开发中:主要关注3个部分
定义普通业务组件
定义切入点:一个切入点可能横切多个业务组件
定义增强处理:是由aop框架为普通业务组建织入的处理动作。
切面:是一个关键点的模块化(例如事物处理)
连接点:加入切点的那个点
通知:在切面的某个连接点上执行的动作
切入点:切入点与连接点的匹配是aop的核心
引入:
目标对象:被通知(被aop代理的对象)
aop代理:aop框架创建的代理对象
织入:创建一个被通知的对象
AOP的原理:一个组件A,不关心其他常用的服务组件B,但是这个组件A使用组件B的时候,不是组件自身去调用,而是通过配置等其他方式(spring的xml文件)