Spring学习笔记1-简介
1. Spring是什么
Spring是分层的Java SE/EE应用的full-stack
级开发框架
以IoC(Inverse Of Control)
和AOP(Aspect Oriented Programming)
为内核,提供了展现层Spring MVC和持久层Spring JDBC以及义务层事务管理等众多的企业级应用技术.
还能整合开源世界众多注明的第三方框架和类库. 逐渐成为使用最多的Java EE企业应用开源框架
2. Spring的优势
- 方便解耦,简化开发
通过Spring提供的IoC容器, 可以将对象间的依赖关系交由Spring进行控制,避免硬编码缩成的国过度程序耦合
用户也不必再为单例模式型, 属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用
-
AOP编程的支持
通过Spring的AOP功能, 方便进行面向切面的编程, 许多不容易使用的传统OOP实现的功能可以通过AOP轻松应付 -
声明事务式的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理 -
方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作, 测试不再是昂贵的操作,而是随手可做的事情’ -
方便集成各种优秀的框架
Spring可以降低各种框架的使用难度, 提供对各种优秀框架(Struts, Hibernate, Hessian, Quartz等)的直接支持 -
降低Java EE API的使用难度
Spring对Java EE(如JDBC, Java Mail, 远程调用等)进行了薄薄的封装, 是这些API使用难度大为降低 -
Java源码是经典的学习范例
Spring的源代码设计精妙, 结构清晰, 匠心使用, 处处体现着大师对Java设计模式灵活运用及对Java技术的高深造诣. 它的源代码无意是Java技术的最佳实践的翻译
3.Spring的体系结构
3.1 耦合和解耦
-
耦合—程序间的依赖关系
包括:- 类之间的依赖
- 方法间的依赖
-
解耦—降低程序间的依赖关系
实际开发中应该做到编译器不依赖, 运行时才依赖
解耦思路(JDBC解耦
):
- 使用反射来创建对象, 避免使用
new
关键字 - 通过读取配置文件来获取要创建的对象全限定类名