1.spring的体系结构(spring包含7大功能模块)
a.Core模块:
Core模块是spring的核心类库,提供控制反转(Inversion of Control IoC)功能。
b.AOP模块:
AOP模块是spring的AOP库,提供了AOP(Aspect Oriented Programming:面向切面编程)拦截器机制。
c.ORM模块:
spring的ORM(Object Relational Mapping:对象关系映射) 模块提供对常用的ORM框架的管理和支持,
但spring本身并不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理。
d.DAO模块:
spring提供对JDBC的支持,对JDBC进行封装,允许JDBC使用spring资源,并能统一管理JDBC事务。
e.MVC模块:
MVC模块为spring提供了一套轻量级的MVC实现,在spring开发中,既可以用Strtus2也可以用spring自己的MVC模块,
相对于Strtus2,spring自己的MVC框架更加简洁和方便。
f.Web模块:
Web模块提供对常见的框架(如Strtus2,JSF等)的支持,让spring能够管理这些框架,
将spring的资源注入框架,也能在这些框架前后插入拦截器。
g.Context模块:
Context模块提供Bean访问方式。
其他程序可以通过Context访问spring的Bean资源,相当于资源注入。
2.spring实现"解耦"的方式
spring降低耦合度的方式有IoC与AOP两种方式
a.IoC(控制反转):
IoC的作用是使得主业务在相互调用过程中,不再用自己维护关系。
即无需自己创建要使用的对象,而是由spring容器统一管理,自动"注入"。
b.AOP(面向切面编程):
AOP技术不再由程序员用硬编码的方式将系统级服务"混杂"到主业务的逻辑中,
而是由spring容器统一完成"织入"。