Spring是什么?

  • Spring 是一个轻量级、非入侵式的控制反转 (IoC) 和面向切面 (AOP) 的框架。

Spring有哪些特性呢?(优点)

1. IOC 和 DI 的支持

  • Spring 的核心就是一个大的工厂容器,可以维护所有对象的创建和依赖关系,Spring 工厂用于生成 Bean,并且管理 Bean 的生命周期,实现高内聚低耦合的设计理念。

2. AOP 编程的支持

  • Spring 提供了面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等切面功能。

3. 声明式事务的支持

  • 支持通过配置就来完成对事务的管理,而不需要通过硬编码的方式,以前重复的一些事务提交、回滚的JDBC代码,都可以不用自己写了。

4. 快捷测试的支持

  • Spring 对 Junit 提供支持,可以通过注解快捷地测试 Spring 程序。

5. 快速集成功能

  • 方便集成各种优秀框架,Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz 等)的直接支持。

6. 复杂API模板封装

  • Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了模板化的封装,这些封装 API 的提供使得应用难度大大降低。