Spring 入门
spring 简介
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
spring 架构图
Spring 是一个从实际项目开发经验中抽取的,可高度重用的应用框架.
Spring 的主要作用
- springBeanFactory:
所有的实例可以都可以配置到 spring 工厂中,新建对象时通过工厂来新建,降低了耦合性. 并且可以配置对象的作用域 - Spring 依赖注入(控制反转):
相当于一个工厂管理对象之间的依赖关系
用户只需要在 spring 中配置好依赖关系(在 bean 中配置属性的方式配置所依赖的对象),在调用对象的时候,就不需要再管依赖关系了(不用 new 那些需要依赖的对象了)。比如一个对象需要另一个对象来协助完成,这时不需要主动创建所需对象,spring 容器会自动创建所需要的实例,然后注入进调用者中 - SpringAOP(面向切面):
实现在执行过程前后执行另外的代码,进行拦截、监控等功能
也就是用来定义,在方法前后要完成的什么功能
spring 的事务管理,就是基于 AOP 来实现的
总结
- 方便解耦,简化开发
Spring 就是一个工厂,可以将所有对象的创建以及依赖关系的维护都交给它 - AOP 编程的支持
Spring 提供了面向切面编程,可以方便的进行权限拦截和运行监控 - 方便结合其他框架
Spring 内部支持了和其他框架的整合,如 mybatis - 方便程序测试
Spring 支持 JUnit4,可以通过注释方便的测试 - 降低了调用 JavaEE 中一些 API 的难度
比如对 JDBC 等进行了封装 - 声明式事务的支持
只需要配置就可以完成对事务的管理