spring可以自动填写特定类型的列表吗?

时间:2018-07-05 09:14:54

标签: java spring list autowired

我想通过Spring注入自动将特定类型的元素填充到列表中。

if ";" in line:
    line = line.replace(";","]")

以下是这些豆子:

@Component
class Scratch {
 @Autowired
 List<Person> person;
}

我想要得到的结果是@Configuration class App { @Bean public Person coolPerson() { return new CoolPerson(); } @Bean public Person stupidPerson() { return new stupidPerson(); } @Bean public Person funnyPerson() { return new FunnyPerson(); } } 包含三个元素。上述List<Person>中已声明的Bean中的一个。

如果通过Spring的DI不可能做到这一点,那有没有办法?

我认为spring可以收集上下文中的所有Configuration。那么,如何访问此上下文并手动填写列表呢?

Bean

1 个答案:

答案 0 :(得分:1)

是的,这可行:

ngOnInit

这将注入@Component public class Scratch { @Autowired List<Person> person; } 的每个实例。

您甚至可以在Person中自动布线,它将注入该接口可以找到的所有实例。