1. Spring AOP 中的核心概念是什么?它们之间有什么关系?
核心概念包括 Aspect(切面)、Joinpoint(连接点)、Pointcut(切点)、Advice(通知)、Target(目标对象)、 Weaving(织入) 以及 Introduction(引入)。
- Aspect: 模块化的横切关注点,例如事务管理。
- Joinpoint: 程序执行过程中的某个点,例如方法调用或异常处理。
- Pointcut: 匹配 Joinpoint 的表达式,定义 Advice 应用的位置。
- Advice: 在特定 Joinpoint 处执行的操作,例如方法执行前后。
- Target: 被 Advice 应用的目标对象。
- Weaving: 将 Aspect 应用到 Target 的过程,生成代理对象。
- Introduction: 为现有类添加新方法或接口。
2. 解释 Spring 中 IoC (控制反转) 和 DI (依赖注入) 的概念。
- IoC: 将对象创建和管理的控制权从应用程序代码转移到 Spring 容器。
- DI: Spring 容器将依赖关系注入到对象中,无需对象自己创建或查找依赖项。
3. Spring 支持哪些 Bean 的作用域?
- singleton: 单例模式,每个容器只有一个实例。
- prototype: 每次请求都会创建一个新的实例。
- request: 每个 HTTP 请求创建一个实例。
- session: 每个 HTTP Session 创建一个实例。
- application: 每个 ServletContext 创建一个实例。
4. 解释 Spring 事务管理的不同方式。
- 编程式事务管理: 通过编程方式控制事务的边界,更加灵活但代码量较大。
- 声明式事务管理: 使用注解或 XML 配置声明事务,简化开发但灵活性较低。
5. Spring MVC 框架的请求处理流程是什么?
- 用户发送请求到 DispatcherServlet。
- DispatcherServlet 根据请求信息选择合适的 Controller。
- Controller 处理请求并返回 ModelAndView 对象。
- DispatcherServlet 将逻辑视图名解析为实际视图。
- 视图渲染响应结果并返回给用户。
暂无评论