# 利用Spring boot的自动装配特性实现动态注册组件 **Repository Path**: Sakurazjp/springboot-project2 ## Basic Information - **Project Name**: 利用Spring boot的自动装配特性实现动态注册组件 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-16 - **Last Updated**: 2021-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 实验二 利用Spring Boot的自动装配特性实现动态注册组件 课程名称: 企业级开发框架 学期:2021年春季 | 实验名称 | 利用Spring Boot的自动装配特性实现动态注册组件 | 实验序号 | 二 | |------|---------------------|------|--------------| | 姓名 | 郑杰鹏 | 学号 | | | 班级 | 软卓1班 | 实验地点 | 8B409 | | 实验时间 | 2021/4/13 | 指导老师 | 黎志雄 | ### **一、实验目的** 1. 掌握Spring Boot的自动配置原理; 2. 掌握Spring框架动态注册Bean的原理; 3. 掌握自动生成元数据文件。 4. 掌握spring框架的事件模型。 ### **二、实验环境** 1. JDK 1.8或更高版本 2. Maven 3.6+ 3. IntelliJ IDEA ### **三、实验任务** 1. 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目。
输入图片说明 输入图片说明
2. 创建一个自定义的CommandLineRunner接口的实现类。
输入图片说明
3. 创建一个自定义的自动配置类。
输入图片说明
4. 创建spring.factories文件
输入图片说明 输入图片说明 输入图片说明 输入图片说明
5. 给自动配置类添加有效条件。 - 利用@ConditonalOnProperty注解,添加属性条件
输入图片说明
- 在application.properties属性文件中添加一个自定义的属性
输入图片说明
- 切换属性值false/true,观察终端的显示,判断自动装配的配置类是否生效。
输入图片说明 输入图片说明
6. 自定义的一个Bean,绑定属性值,并生成spring配置类的元数据文件。 - 创建一个类,并在类上加@ConfigurationProperties注解,设置注解的prefix属性指定绑定的属性的前缀。
- 在某个配置类上添加@EnableConfigurationProperties,并指定装配的属性Bean。
- 使用spring boot框架提供的注解处理器生成自定义属性的元数据文件。
7. 根据阅读框架源码,我们可以自定义一个事件发布器,并设置线程池,实现异步发布事件。 注意:这个自定义的事件发布器的Bean的名称必须是“applicationEventMulticaster"。 - 自定义的事件发布器
- 自定义事件类
- 自定义事件监听器
- 编写一个测试用例,检查发布事件时,是否使用了多线程异步处理。
- 运行结果
8. 自定义ApplicationReadyEvent的事件监听器。(2020年10月新增) - 自定义一个ApplicationReadyEvent事件监听器
- 运行结果