-
错误的原因
spring的源码中注册bean之前,会对bean的name做一个判断,如果bean的name是重复的,spring则会报错误,所以我们如果想不让spring报错,则需要让生成的bean的name为“package+name”这种形式。我们继续看,生成bean的name的方法为
beanNameGenerator.generateBeanName(candidate, this.registry);
此方法有两个实现类
DefaultBeanNameGenerator AnnotationBeanNameGenerator
这两个实现类就决定了生成的bean的name是“name”or“package+name”的命名方式。
-
解决方法
spring默认的使用实现方法是“Annotati
springboot项目不同package下拥有相同命名的class,导致启动报错的解决方法
最新推荐文章于 2024-01-25 16:42:45 发布