通过这几天对Spring的研读,剖析了Spring的基本核心模块——IoC和AOP。今天将对其作个基础性的总结。
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,同时为 J2EE 应用程序开发提供集成的框架。其中作为Spring的核心模块即是Spring面向方面编程(AOP)和控制反转(IOC)容器。Spring 设计的核心是 org.springframework.beans
包,BeanFactory
BeanFactory
支持两个对象模型单态和原型。BeanFactory
是Spring作为IOC 容器的基础。
控制反转模式:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在 Spring 框架中是 IOC 容器)负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。IOC 的一个实现模式:通过接口、通过 JavaBean 的属性、依赖性以构造函数的形式提供。
面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。
凤凰涅槃/浴火重生/马不停蹄/只争朝夕
隐姓埋名/低调华丽/简单生活/完美人生