Spring会自动在java bean定义中自动装配构造函数args吗?

时间:2016-11-21 18:00:11

标签: java spring

假设我有以下bean定义

@Bean
public Beehive beehive(ArrayList<Bee> bees) {
    return new Beehive(bees);
}

@Bean
public ArrayList<Bee> bees() {
    return new ArrayList<Bee>();
}

bees bean方法中的beehive是否可以自动装入?

我在问,因为我的应用程序在没有使用@Autowired注释的情况下表现得像这样,并希望确保我理解正在发生的事情。

1 个答案:

答案 0 :(得分:2)

  

Spring会自动在java bean定义中自动装配构造函数args吗?

是的,确实如此。你可以参考我在下面添加的Spring文档中的here(强调我的)。

  

@Bean注释方法可以有任意数量的参数   描述构建该bean所需的依赖关系。例如   如果我们的TransferService需要AccountRepository我们可以   通过方法参数实现该依赖:

@Configuration 
public class AppConfig {
    @Bean
    public TransferService transferService(AccountRepository accountRepository) {
        return new TransferServiceImpl(accountRepository);
    }
}
     

解析机制与基于构造函数的机制完全相同   依赖注入