Spring框架—控制反转(IOC)
1、Spring是什么
Spring是一个开发框架,它是为了解决企业应用开发的复杂性创建的。主要优势将开发分层架构,Spring使用基本的JavaBean完成由EJB完成的事情。从简单性、可测试性和松耦合角度而言,Java应用可从Spring中收益,Spring的核心是控制反转Ioc和切面编程AOP。总而言之,Spring是一个分层的JavaSE/EE full-stack(一站式)的轻量级开源框架。
2、Spring优点
(1)方便解耦,简化开发(高内聚低耦合)
生成bean的工厂,维护所有对象的创建及依赖关系;
(2)AOP切面编程
对程序进行权限拦截、运行监控如log日志;
(3)支持声明式事务
通过配置完成事务的处理,无需手动编程;
(4)方便测试
支持JUnit4,可通过注解方便测试;
(5)可集成各框架
提供了对各框架的支持,如:struts、Hibernate、MyBatis、Quartz等;
(6)降低JavaEE API使用难度
对JavaEE中难用的API(JDBC、JavaMail、远程调用等)进行了封装,大大降低了对API调用难度。
3、体系架构
Spring是一个分层架构,主要有Core Container、Data Access/Integration、Web、AOP、Intrumentation和测试部分。
Spring框架—面向切面编程(AOP)
1、AOP是什么
AOP Aspect Oriented Programming,面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
利用AOP可以对业务逻辑的各部分进行分离,使得业务逻辑各部分之间耦合度降低,提高程序重用性,提高开发效率。
引用:事务管理、性能监视、安全检查、缓存、日志等