引子:
每次Spring项目启动时,都会加载一些Bean对象,也可以启动一些自定义的类,例如:
@Component
public class LoadProductType implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
System.err.println("项目启动啦>>>>>>>>>>>>>>>>>>>>>>>");
}
}
为什么会监听到呢?原来实现了ApplicationEvent
话不多说,举一反三,如何实现实现自定义时间监听(代码附上)
应用事件
触发事件
事件监听
测试代码
为什么要这么写?写在一个方法里岂不更好?
缺点:
- 代码太长
- 如果再新增功能,需要修改原代码
- 耦合度太高
- 扩展性低