use*_*515 5 spring list inject
嘿,
我有下一个代码:
public abstract class MyClass{
protected abstract void method1();
}
Run Code Online (Sandbox Code Playgroud)
扩展第一个类:
@Component
public class MyClass1 extends MyClass{
.....
}
@Component
public class MyClass2 extends MyClass{
.....
}
Run Code Online (Sandbox Code Playgroud)
我尝试注入扩展抽象类的类列表的类
@Component
public class SpringClass{
@Autowired **//It doesnt work, nothing is inyected!**
List<MyClass> classes
}
Run Code Online (Sandbox Code Playgroud)
我的问题是它不起作用,它不会在属性类中注入扩展 MyClass 的类列表。为什么?
谢谢
您可以删除实例变量的@Autowired注释并将其添加到setter方法中。完成此操作后,您的春季课程将是
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class SpringClass {
List<MyClass> classes;
@Autowired
public void setClasses(List<MyClass> classes) {
this.classes = classes;
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。