Java @自动连线与@Inject注入多个类

Java @自动连线与@Inject注入多个类,java,spring,Java,Spring,这两者之间的区别是什么: @Inject public GuitarPlayer(Provider<Instrument> ins) { instruments = new LinkedList<Instrument>(); for (int i = 0; i < 5; i++) { instruments.add(ins.get()); } } 这是: @Autowired

这两者之间的区别是什么:

@Inject
    public GuitarPlayer(Provider<Instrument> ins) {
        instruments = new LinkedList<Instrument>();
        for (int i = 0; i < 5; i++) {
            instruments.add(ins.get());
        }
    }
这是:

@Autowired
    public GuitarPlayer(List<Instrument> ins) {
        instruments = new LinkedList<Instrument>();
        for (int i = 0; i < 5; i++) {
            instruments.add(ins.get(i);
        }
    }

我假设在第一个示例中,列表中的每个位置都是一个单独的实例。如果可以,是否可以在我的xml配置文件中注入实现同一接口的多个类?

一个有提供程序,而另一个有工具,这正常吗?我只是按照《Spring in action book》中的示例,它说当我使用@inject时,我还需要使用提供程序。如果您需要,可以直接自动关联列表有多个仪器的实现。我不了解xml,因为不再需要它了。与@Autowired一起工作,谢谢它解决了我的问题。