竹笋

首页 » 问答 » 灌水 » 卓景京干货集大场面试题Spring框
TUhjnbcbe - 2023/11/3 20:48:00

我们一般说的Spring框架就是SpringFramework,一种轻量级框架,用于提高开发人员的开发效率和可维护性。它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块包括:核心容器、数据访问/集成、响应式web编程、AOP(面向切面编程)、工具、消息和测试模块。

下图对应的是Spring4.x的版本,目前最新的5.x版本中Web模块的Portlet组件已经被废弃掉,同时增加了用于异步响应式处理的WebFlux组件。

主要模块包括:

SpringCore:Core封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。

SpringAOP:AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,供用户自定义和配置。

SpringJDBC:负责Java数据库连接。

SpringJMS:负责Java消息服务。

SpringORM:用于支持常用的Hibernate,Mybatis等框架,Spring本身并不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理;

SpringWeb:WEB模块提供对常见框架如StrutsX,SpringMVC,JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。

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

CoreContainer中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和DI的基础,AOP组件用来实现面向切面编程。

常见的Core组件有哪些?

IoCContainer,控制反转容器

Events,事件编程

Resources,资源加载

i18n,国际化

Validation,校验

DataBinding,数据绑定

TypeConversion,类型转换

SpEL,Spring表达式

AOP,面向切面编程

1
查看完整版本: 卓景京干货集大场面试题Spring框