由于业务需求,需要在项目启动的时候执行一段代码,所以就使用了Spring提供的@PostConstruct注解。
出现情况:
后来发现@PostConstruct底下的代码运行了两次。很明显,这部分的类被实例化的两次。
解决思路:
通过启动时输出的控制台信息我发现。一次好像是在统一扫描Controller层的时候运行了一次,还有一次好像是在程序快要启动结束的时候运行一次。
想着扫描controller是统一扫描的,决定将代码移除controller
然后我就尝试着将@PostConstruct注解下的代码搬到其他模块。
这样就解决了。