1. Spring简介
1.1 Spring是什么
Spring是分层的Java SE/EE应用full-stack(各层都有解决方案,MVC)轻量级(学习成本低)开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程为内核。提供了展示层 SpringMVC和持久层 Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。
1.2 Spring发展
前身EJB -> Spring
spring之父:Rod Johnson
1.3 Spring的优势
1)方便解耦,简化开发
通过 Spring 提供的IoC容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬解码造成的过度耦合。用户也不必再为单例模式类、属性文件解析等底层需求编写代码,可以更专注上层应用。
2)AOP编程支持
通过 Spring 的AOP功能,方便进行面向切面编程,许多不容易用传统OOP实现的功能可以通过AOP轻松实现。
3)声明事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明方灵活地进行事务管理,提高开发效率和质量。
4)方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,使得测试不再是昂贵的操作,而是随手可做的事情。
5)方便集成各种优秀框架
Spring 对各种优秀框架(Struts 等)的支持。
6)降低 JavaEE API 的使用难度
Spring 对 JavaEE API(如JDBC、JavaMail、远程调用等)进行了封装,使用这些API的难度大大降低。
7)源码为Java编程的学习典范
Spring 的源代码设计精妙、结构清晰、独具匠心,处处体现着大师对Java设计模式灵活应用以及对Java技术的高深造诣。其源码时Java技术的最佳实践范例。
1.4 Spring的体系结构
造诣。其源码时Java技术的最佳实践范例。