# 实验二 利用Spring boot的自动装配特性实现动态注册组件 **Repository Path**: y1ip/springboot-experiment-2 ## 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**: 0 - **Forks**: 0 - **Created**: 2020-10-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##
**东莞理工学院网络空间安全学院**
##### **课程名称** :企业级开发框架专题 **学期:2020秋季** `实验名称`:实验二 利用Spring boot的自动装配特性实现动态注册组件 `实验序号`:二创建项目
添加 Spring Configuration Processor 依赖
创建CustomCommandLineRunner类,实现CommandLineRunner
创建AutoConfig自动配置类
创建spring.factories文件,并指定它的值为刚才自定义的自动配置类的全限定类路径的类名
测试运行程序,运行结果显示我们自定义的自动配置类已经生效
利用@ConditionalOnProperty注解,添加属性条件
在application.properties属性文件中添加一个自定义的属性
切换属性值为true,自动装配的配置类生效
切换属性值为false,自动装配的配置类失效
创建一个CustomProperties类,并在类上加@ConfigurationProperties注解,设置注解的prefix属性指定绑定的属性的前缀。
在AutoConfig配置类上添加@EnableConfigurationProperties,并指定装配的属性Bean。
编译打包项目。观察target目录下的元数据文件
回去编辑属性文件时,只要输入属性的部分关键字,idea会自动提示
自定义的事件发布器
自定义事件类
自定义事件监听器
编写一个测试用例,检查发布事件时,是否使用了多线程异步处理
运行单元测试结果,显示成功使用了多线程异步处理
自定义一个ApplicationReadyEvent的事件监听器
终端显示输出的指定信息是在CommandLineRunner的输出信息之后