【问题标题】:Multiple Constructor injection ambiguity with spring boot使用弹簧靴的多个构造函数注入歧义
【发布时间】:2019-12-06 09:49:58
【问题描述】:

我正在尝试学习将一个基于 Spring XML 的应用程序迁移到 Spring Boot 应用程序,并且想知道在一个类中有多个构造函数并希望使用 Spring 注解注入所有这些构造函数的一种情况。

我确实理解并实现了使用基于 XML 的配置的方式,但对注入多个构造函数的注解/方式感到困惑。

我尝试参考几个论坛,例如:Ambiguity Regarding Spring Constructor Injection,但 Spring Boot 没有运气。 有人可以帮忙吗?

【问题讨论】:

  • 一个对象只能构造一次。 Spring 只会调用您的一个构造函数:带有 @Autowired 注释的构造函数(或者只有一个,如果只有一个)。
  • 就像@JBNizet 说的,你只能使用一个构造函数。你能告诉我们为什么你有这些多个构造函数以及为什么你不使用一个构造函数吗?如果我们了解您的用例,我们或许能够提供量身定制的答案。
  • 我想在 spring boot 中实现类似的东西。我想用它的任何一个构造函数来调用员工类。 10100
  • 然后使用您的@Configuration 类之一的@Bean- 注释方法自己构造bean。 docs.spring.io/spring/docs/current/spring-framework-reference/…

标签: java spring spring-boot dependency-injection


【解决方案1】:

正如 cmets 中提到的,您可以使用 @Configuration

@Configuration
public class Config {

    @Bean
    public Employee employee() {
        return new Employee(10,"100");
    }
}

【讨论】:

  • 感谢@lczapski 提供清晰的代码。感谢 JBNizet 和 g00glen00b 提供 cmets。
猜你喜欢
  • 1970-01-01
  • 2012-05-08
  • 2022-01-05
  • 2019-05-03
  • 2023-04-07
  • 2021-04-10
  • 2017-12-22
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多