各模块依赖关系
spring依赖关系.png
Ioc:Invertion of control (控制反转)
理解 :在没有spring之前,我们使用的对象是通过new Object()创建,spring框架出现后,我们将对象的创建,初始化,销毁等管理权交给框架,只使用对象。所谓控制反转,就是控制权的转移。
Aop:面向切面编程(摘与w3c)
Spring 框架的一个关键组件是面向切面的编程(AOP)框架。面向切面的编程需要把程序逻辑分解成不同的部分称为所谓的关注点。跨一个应用程序的多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。在软件开发过程中有各种各样的很好的切面的例子,如日志记录、审计、声明式事务、安全性和缓存等。
在 OOP 中,关键单元模块度是类,而在 AOP 中单元模块度是切面。依赖注入帮助你对应用程序对象相互解耦合,AOP 可以帮助你从它们所影响的对象中对横切关注点解耦。AOP 像是编程语言的触发物,如 Perl,.NET,Java 或者其他语言。
Spring AOP 模块通过动态代理,当执行一个方法时,你可以在方法执行之前或之后添加额外的功能。