@Scope(“prototype”)失效,原因竟是lombok?
最近碰到一个问题,@Scope(“prototype”)注解没有生效,通过 context.getBean 获取到的仍然是单例对象
下面是我的组件类代码
下面是我写的测试代码
从网上查找了很多资料,大多是单例模式的另外一个Bean引用该原型Bean遇到的问题,而本人的情况是直接通过调用多个getBean方法,但是都没有达到预期
通过测试发现,导致这一问题出现的原因竟然是lombok的@Data注解,通过移除@Data注解,测试通过,每次获取的bean都不一样
所以说lombok也是一个大坑,用时一时爽,问题火葬场,经本人测试,使用@Getter和@Setter注解是不会出现问题的,大家要是也碰到这个问题可以这样改哈
关于为什么使用@Data就会导致原型模式失效,具体原因本人不太清楚,如果有大佬懂的可以评论区教教我,哈哈,希望本篇文章能给大家带来帮助。