Spring框架1
需积分: 0 193 浏览量
更新于2022-08-08
收藏 44KB DOCX 举报
【Spring框架1】知识点详解:
1. **Spring AOP(面向切面编程)**:Spring AOP 是一种用于实现横切关注点(如日志、事务管理)的技术,它允许我们在不修改源代码的情况下,向应用程序中添加额外的功能。Spring AOP 采用动态代理织入切面,分为两种代理机制:
- **JDK动态代理**:适用于目标类实现了接口的情况,通过`java.lang.reflect.Proxy`创建代理对象。
- **CGLIB动态代理**:如果目标类没有接口,Spring会使用CGLIB库创建目标类的子类,并在子类中织入切面。
2. **线程安全与Action**:Action 类是否线程安全取决于它的设计。如果Action不是线程安全的,可以通过以下方式确保线程安全:
- 声明Action为局部变量,每次请求都创建新的实例。
- 在Spring中使用`scope="prototype"`管理Action,确保每个请求对应一个新的Action实例。
3. **Struts关键对象**:
- **Action**:作为控制器,负责处理用户请求并调用业务逻辑。
- **ActionForm**:用于封装请求参数,作为业务逻辑层与视图层之间的数据载体。
- **DynaValidatorForm**:动态表单,允许动态指定字段和验证规则。
- **ActionMapping**:存储配置文件中action节点的元数据,定义了请求URL与Action类的映射关系。
4. **AOP和IOC**:
- **AOP(面向方面编程)**:关注点分离,将横切关注点(如事务管理)与核心业务逻辑解耦。Spring中,AOP主要应用于切面的声明和实现,例如声明式事务管理。
- **IOC(控制反转)**:对象的创建和依赖关系的管理由容器(如Spring)负责,而不是由对象自身负责。Spring通过依赖注入(DI)实现IOC,主要有三种方式:
- 接口注入
- Setter注入
- 构造器注入
5. **Hibernate**:
- **load()和get()**:
- `load()`:默认开启延迟加载,仅在需要对象属性时查询数据库,若数据库中不存在记录,会抛出`ObjectNotFoundException`。先检查一级缓存,未找到再创建代理对象。
- `get()`:直接尝试从一级缓存、二级缓存或数据库获取对象,找不到则返回`null`。
6. **Hibernate的延迟加载和OpenSessionInView**:
- **延迟加载**:在同一个`Session`范围内,只有当需要数据时才加载,以提高性能。
- **OpenSessionInView**:在Web层通过Filter保持`Session`在整个HTTP请求过程中的开放,确保延迟加载能够在正确范围内工作。
7. **Spring事务管理**:
- **声明式事务**:通过配置元数据(如XML或注解)来声明事务边界。
- **编程式事务**:直接在代码中调用事务管理API来管理事务。
- **隔离级别**:包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)、串行化(SERIALIZABLE),每种级别控制了并发事务间的数据可见性和一致性。
- **传播行为**:定义了在一个事务中的方法如何启动或参与另一个事务,如REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED。
8. **Spring框架优点**:
- **分层架构**:各层之间解耦,可以选择性地使用。
- **POJO编程**:提高代码的可测试性和可维护性。
- **依赖注入(DI)**:简化对象之间的依赖关系,降低耦合度。
- **开源免费**:社区活跃,拥有丰富的生态系统。
- **对象管理**:集中化和简化对象的生命周期管理。
以上是对Spring框架核心概念及关键知识点的详细解析,涵盖了AOP、IOC、事务管理、Struts对象和Hibernate操作等内容。

士多霹雳酱
- 粉丝: 25
最新资源
- 我院计算机应用技术专业的改革.docx
- 常用工具软件-第12章-PowerPoint-2007演示文稿放映和发.ppt
- awesome-ios-Swift资源
- MCS单片机温度控制系统设计方案.doc
- matlab-Matlab资源
- TD-SCDMA3G网络建设研究大学课程设计.doc
- 《网络信息安全管理分析之信息汇总》.doc
- 提高计算机通信网络可靠性的分析与研究.docx
- 2018届高三数学一轮复习-第十一章-复数、算法、推理与证明-第三节-合情推理与演绎推理-文.ppt
- 区块链视角下物流供应链重构研究.docx
- (源码)基于PyTorch框架的抑郁症诊断系统.zip
- 智慧校园网络平台项目实施方案.docx
- 改工业自动化系数控设备维护实习报告.doc
- 数据库双机热备份系统解决方案.docx
- 电力调度自动化系统中人工智能技术的运用.docx
- 互联网背景下企业360度绩效考核的问题与对策.docx