1.1 Spring是什么
Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以loC( lnverse Of Control : 反转控制 )和AOP( Aspect OrientedProgramming: 面向切面编程 )为内核。
提供了展现层SpringMVC和持久层Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架
1.2 Spring发展历程
Spring的发展历程可以追溯到2002年,当时由Rod Johnson创建了Spring Framework,它最初是为了解决J2EE(Java 2企业版)应用开发的一些问题。
除了核心的Spring Framework之外,Spring生态系统还包括许多其他项目和组件,如Spring Boot、Spring Data、Spring Security和Spring Cloud等。这些项目提供了额外的功能和工具,帮助开发者更轻松地构建和管理复杂的企业级应用程序。
总的来说,Spring的发展历程可以被视为一系列对Java开发进行简化和改进的步骤。它通过提供强大的特性和易于使用的工具,成为了Java应用开发的首选框架之一。
Rod Johnson(Spring之父)
他是Spring Framework的创始人和主要开发者。
1.3 Spring的优势
1. 方便解耦,简化开发
通过Spring提供的loC容器,可以将对象的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合. 用户也不必再为单例模式类、属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。
2. AOP编程的支持
通过Spring的AOP功能,方便进行面向切面编程,许多不容易传统OOP实现的功能可以通过AOP轻松实现。
3. 声明式事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。
4. 方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。
5. 方便集成各种优秀框架
Spring对各种优秀框架(Struts、Hibemate、Hessian、Quartz等)的支持。
6. 降低JavaEE APl的使用难度
Spring对JavaEE APl(如JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些APL的使用难度大为降低。
7. Java源码是经典学习范例
Spring的源代码设计精妙、结构清晰、匠心独用, 处处体现着大师对Java设计模式灵活运用以及对Java技术的高深诣。它的源代码无意是Java技术的最佳实践的范例。