spring @EventListener事件监听

spring的event事件

之前在写代码的时候出现过这样一个情况:在springBoot项目中:A类调用了B类的方法,B类通过A类对象调用了A类的方法(具体情况是A,B类其中一个是加载类,在项目启动后就会自动加载…),所以导致了A类还没有加载完B类就开始初始化加载 ,所以对象为null,但是对象调用的方法属性的值不为null。这个错误找了好久,虽然不建议两个类互相调用这么写,但是如果你也遇到了同样的问题 不妨试一下下面的办法能不能解决你的问题。
1.首先定义一个event的类。
2.然后在你要先执行的类里面调用event的方法发射一个事件。
3.然后在你要第二个执行的类里面接收你要执行的事件就可以了。

代码:
1.定义event类,继承ApplicationEvent父类:
spring @EventListener事件监听_第1张图片

2.在你要先执行的类里面调用event的方法发射一个事件。
(1).我们需要注入这个对象。
在这里插入图片描述
(2).cache是我自己定义的用来接收的缓存,可以换成自己的实例。
在这里插入图片描述
3.然后在你第二个要执行的类里面接收发射的事件。
在这里插入图片描述
这个comparePort这个方法里面就有第一个类的对象和执行的方法。
这样就解决了这个问题,本人也是小白一枚,如果有什么不对的地方欢迎指正。

你可能感兴趣的:(spring,spring事件监听)