Java Spring技术
Spring的7个模块
主要模块: spring core, spring context, spring beans(核心)
为什么要 Bean 这种角色 Bean 或者为何在 Spring 如此重要,这由 Spring 框架的设计目标决定,Spring 为何如此流行,我们用 Spring 的原因是什么,想想你会发现原来 Spring 解决了一个非常关键的问题他可以让你把对象之间的依赖关系转而用配置文件来管理,也就是他的依赖注入机制。而这个注入关系在一个叫 Ioc 容器中管理,那 Ioc 容器中有又是什么就是被 Bean 包裹的对象。Spring 正是通过把对象包装在 Bean 中而达到对这些对象管理以及一些列额外操作的目的。
IOC 和 AOP
- 控制反转模式(也称作依赖性注入IOC)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。
- 面向切面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。
所谓AOP,就是将分散在各个方法中的公共代码提取到一处,并通过拦截器的机制实现代码的动态整合。可以简单的想象成,在某个方法的调用前、执行中、调用后和抛出异常时,动态地插入自己的代码。
AOP将应用系统分为两个部分,即核心业务部分(Core Business Concerns)及横向的通用逻辑,也就是所谓的切面(Crosscutting Enterprise Concerns)。 例如,所有的大、中型应用都要涉及的持久化管理、事务管理、安全管理、日志管理和调试管理等。如果说面向对象编程是关注将需求功能划分为不同的并且相对独立、封装良好的类,并让它们有属于自己的行为,依靠继承和多态来定义彼此的关系,那么面向切面编程则是希望通过将需求功能从不相关的类中分离出来,能够使很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可。
切面(Aspect), 把横切面的关注点进行模块化,模块化的类叫切面。切面指横切面关注点的抽象,它与类相似,知识两者的关注点不一样,类是对物体特征的抽象,而切面是对横切面关注点的抽象。
连接点(Joinpoint), 是程序执行过程中明确的点,是Spring允许用户使用通知的地方。
相关:
参考:
https://www.ibm.com/developerworks/cn/java/wa-spring1/
https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/
J2EE轻量级框架 【史胜辉 王春明 陆培军 编著】


浙公网安备 33010602011771号