是否可以在静态方法中注入(inject)依赖项,如下所示:
@Component
public class MyClass {
@Autowired
public static void main(String[] args) {
// do stuff
}
}
我想要实现的是为此工作代码实现 Autowiring :
@Component
public class MyClass {
public static void main(String[] args, MyClass mc) {
ApplicationContext ctx = new GenericXmlApplicationContext("context.xml");
MyClass p = ctx.getBean(MyClass.class);
// do stuff
}
}
最佳答案
首先,我很确定包含 public static void main(String[] args, MyClass mc) {
的第二个代码块不会作为启动应用程序的主要方法。
您将无法以这种方式使用 Autowiring 。请记住,静态 main 方法是应用程序的入口,将其视为与类不同的方法。当进入此方法时,不会实例化任何对象,包括处理 Autowiring 的 Spring Context。
关于java - 在静态方法中注入(inject)依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014812/