微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

名称不同但方法名称相同的Spring @Bean抛出Bean创建异常

如何解决名称不同但方法名称相同的Spring @Bean抛出Bean创建异常

新的春天。
我已经定义了 2 个 @Beans,每个 @Beans 具有唯一的名称,但具有相同的方法名称。其中一个 bean 没有被创建,并且没有抛出有效的 bean 异常。

@Bean("Example.A") 
public ClassA getNewBean() {
   return new ClassA();
}




@Bean("Example.B")
public ClassA getNewBean() {
  return new ClassA();
}

第二个 Bean 没有被创建并且抛出异常,因为 ClassA 不存在有效的 Bean。

This post 在不同的类中有两个 bean,而在我的情况下,它们都在同一个 @Configuration 中。

解决方法

当您通过 bean name 注入时,您可以使用 @Resource

@Controller
public class MyController {
    @Resource(name = "Example.A")
    private ClassA obj;

    // ...
}

顺便说一句,bean 应该用 Java standard convention 命名。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。