java面试题超详细整理《spring篇》一

129 阅读2分钟

什么是 Spring 框架?

Spring 是一个开源的轻量级的Java开发框架,以 Ioc(Inverse Of control:反转控制)和AOP(Aspect Oriented Programming: 面向切面编程) 为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多企业级应用技术,其还整合众多开源的第三方框架,逐渐成为最受欢迎的Java EE企业应用框架。

Spring框架的特征:

轻量高效:Spring 是一个开源的轻量级的Java开发框架

控制反转IOC:通过 Spring 提供的 IOC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

面向切面AOP:通过Spring的AOP功能,方便进行面向切面的编程,许多不容易用OOP实现的功能可以通过AOP轻松应付。

声明式事务:可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。

容器: Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一个容器,你可以配置你的每个bean如何被创建。

框架:集成各种框架,Spring可以将降低各种框架的使用难度,提供了对各种优秀框架(Struts、 Hibernate、 Hessian、 Quart等)的直接支持。

列举一些重要的Spring模块?

Spring是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。

核心容器Core Container: Core是所有组件的核心,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IoC 依赖注入功能。Beans 组件和 Context 组件是实现IOC和依赖注入的基础

AOP :提供了面向切面的编程实现,Aspects : 该模块为与AspectJ的集成提供支持(AspectJ:Java生态系统中最完整的AOP 框架)。

数据访问/集成:JDBC (Java数据库连接)、JMS(Java消息服务)、ORM(用于支持Hibernate等ORM工具)

Web :为创建Web应用程序提供支持。

Test : 提供了对 JUnit 和 TestNG 测试的支持。