"SSM框架相关的知识默写,包括Spring中的Bean、事务管理、Bean的生命周期、依赖注入、Bean的实例化方式、作用域、自动装配、注解装配的顺序,以及AOP通知的五种类型。" 1. **Spring中的Bean**:在Spring框架中,Bean是一个由IOC(Inversion of Control,控制反转)容器负责创建、组装和管理的对象。这些Bean通常代表应用程序中的业务逻辑组件,它们的生命周期由Spring容器控制。 2. **开启事务管理**:在Java代码中,我们可以通过在方法上添加`@Transactional`注解来开启方法级别的事务管理。这样,当该方法执行时,Spring会自动进行事务的开启、提交或回滚。 3. **Spring管理Bean的生命周期**:在Spring中,当配置为单例(singleton)作用域时,Spring会管理Bean的整个生命周期,包括创建、初始化、使用和销毁。 4. **Bean的生命周期**主要包括以下四个阶段: - **Bean定义**:在XML配置文件或使用注解定义Bean的行为和属性。 - **初始化**:Bean实例创建后,Spring执行初始化回调方法,如`init-method`指定的方法。 - **实例化**:Spring通过构造器、静态工厂或实例工厂方法创建Bean实例。 - **销毁**:当容器关闭时,Spring会调用销毁回调方法,如`destroy-method`指定的方法。 5. **控制反转(IoC)**:IoC是Spring的核心概念,它意味着不再由代码直接创建对象,而是将对象的创建和管理交给了Spring容器,使得代码更加松耦合。 6. **依赖注入(DI)**:DI是IoC的具体实现,它允许我们在运行时将依赖关系注入到对象中,而不是在代码中硬编码。这可以通过构造函数、setter方法或字段注入来实现。 7. **四种实例化Bean的方式**: - **静态工厂**:使用静态工厂方法创建Bean。 - **实例工厂**:使用实例化的工厂对象的工厂方法创建Bean。 - **构造器**:通过构造函数实例化Bean。 - **值注入**:通过属性值或构造参数直接注入Bean的属性。 8. **Bean的四大作用域**: - **request**:每个HTTP请求创建一个Bean。 - **session**:每个HTTP会话创建一个Bean。 - **prototype**:每次请求都会创建一个新的Bean实例。 - **singleton**:全局唯一,Spring容器中只有一个Bean实例。 9. **@Primary注解的作用**:在自动装配时,如果有多个相同类型的Bean,被`@Primary`标记的Bean会被优先选择。 10. **@Autowired装配顺序**: - **类型匹配**:优先考虑类型匹配的Bean。 - **定义的名称**:如果有名称定义,尝试匹配名称。 - **字段名**:如果没有名称,尝试匹配字段名。 11. **@Resource装配顺序**: - **名称和类型**:同时指定名称和类型时,寻找唯一匹配的Bean。 - **名称**:只指定名称时,按名称查找。 - **类型**:只指定类型时,寻找唯一匹配的Bean。 - **byName方式**:无名称和类型时,尝试按名称自动装配。 12. **AOP通知的五种类型**: - **前置通知(Before advice)**:在方法执行前执行,不影响方法执行。 - **返回后通知(After returning advice)**:方法正常返回后执行。 - **抛出异常后通知(After throwing advice)**:方法抛出异常后执行。 - **后置通知(After (finally) advice)**:无论方法是否正常结束,都会执行。 - **环绕通知(Around advice)**:完全包围方法调用,可以在方法调用前后自定义行为,甚至决定是否执行方法本身。 以上内容详细介绍了SSM框架中关于Spring的部分核心概念,包括Bean管理、事务、依赖注入、Bean生命周期、自动装配策略以及AOP通知机制。这些都是Spring开发者必备的知识点。
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)