Spring 是什么?特性?有哪些模块?

spring-165c27b4-2ea0-409a-8fa5-389c105db0fa.jpg

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

在2003年,音乐家Rod Johnson决定开发一个轻量级的Java开发框架,Spring逐渐崛起并取代了传统的笨重的EJB。

如今,企业级开发的标配基本是Spring5 + Spring Boot 2 + JDK 8。

Spring具有以下特点:

  1. 支持IoC和DI

Spring的核心是一个大的工厂容器,它负责创建和管理对象以及它们之间的依赖关系。Spring工厂生成Bean并管理Bean的生命周期,实现了高内聚低耦合的设计理念。

  1. 支持AOP编程

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

  1. 声明式事务支持

通过配置就能够管理事务,而不需要硬编码。以前需要重复编写的事务提交和回滚的JDBC代码现在可以省去了。

  1. 快速测试支持

Spring对JUnit提供了支持,可以使用注解快速进行Spring程序的测试。

  1. 快速集成功能

方便地集成各种优秀框架,Spring不排斥任何优秀的开源框架,它内部提供了直接支持各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的功能。

  1. 复杂API模板封装

Spring对JavaEE开发中一些难以使用的API(如JDBC、JavaMail、远程调用等)进行了模板化封装,使应用程序的开发难度大大降低。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题