Spring的概述
什么是Spring
Spring 是分层的Java SE/EE 应用 full-stack
(全栈) 轻量级开源框架, 以IoC
(Inverse Of Control: 反转控制) 和 AOP
(Aspect Oriented Programming: 面向切面编程) 为内核, 提供了展现层Spring MVC
和 持久层 Spring JDBC
以及业务层事务管理等众多的企业级应用技术, 还能整合开闭源世界众多著名的第三方框架和类库, 逐渐成为使用最多的Java EE企业应用开源框架
Spring的两大核心
IoC:
将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合
控制反转:将对象的控制权从代码(new)交给xml
AOP:
将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,
面向切面:在不影响原有代码基础上,植入功能,例如:打印日志
Spring的优势
方便解耦, 简化开发
通过Spring 提供的 IoC
容器, 可以将对象间的依赖关系交由Spring 进行控制, 避免硬编码所造成的过度程序耦合. 用户也不必再为单例模式类, 属性文件解析等这些很底层的需求编写代码, 可以更专注于上层的应用.
AOP
编程支持
通过Spring 的AOP
功能, 方便进行面向切面的编程, 许多不容易用传统 OOP
实现的功能可以通过AOP
轻松应付
声明事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来, 通过声明的方式灵活的进行事务的管理, 提高开发效率和质量
方便程序的测试
可以用非容器依赖的编码方式进行几乎所有的测试工作
方便继承各种优秀的框架
降低JavaEE API的使用难度
Java源码时经典学习范例