Spring框架的江湖地位
- 只要是java的开发人员,那么职业生涯离不开Spring,不解之缘
- Spring框架基于IOC和AOP两大思想所做的一个技术实现,前无古人可以说后无来者
- Spring框架体系非常的庞大,Spring技术全家桶
[了解]Spring介绍
什么是Spring
Spring在经典三层中的位置,各个层都有体现
Spring是一个一站式/full-stack(全栈)的框架
意思是使用Spring框架既可以开发web层、也可以开发service层也可以开发dao层
本质:Spring就是一个对象的容器,因为在这个容器中有可以处理请求的对象,所以可以用来写web层,因为有service层对象,所以可以用写service层,因为有dao层对象,所以可以用来操作数据库。
Spring的开放性和包容性非常强,无缝整合第三方优秀框架,不会重复造轮子
Spring的框架结构
注意:Spring是一个模块化的框架,Spring功能很多很强大,但是并不要求所有的功能我们都得用上,结构图中每一个圆角矩形都对应一个jar,我们使用什么模块什么功能引入对应模块即可。
Spring的开放性和包容性非常强,无缝整合第三方优秀框架,不会重复造轮子
[了解]Spring的发展历程
略
[了解]Spring的优势
-
方便解耦,简化开发通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用
-
AOP编程的支持通过Spring的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
-
声明式事务的支持可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。
-
方便程序的测试 junit 4.12可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。
-
方便集成各种优秀框架Spring可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的直接支持。
-
降低JavaEE API的使用难度Spring对JavaEE API(如JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些API的使用难度大为降低。
-
Java源码是经典学习范例Spring的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。它的源代码无意是Java技术的最佳实践的范例。