我在内部类中有一个@Autowired类。但是在执行它时会抛出Null指针异常,而在外部类中自动装配时它可以正常工作
class outer {
...
class inner {
@Autowired
private var somevar;
private process () {
somevar.someMethod();
}
}
知道为什么这不起作用? somevar.someMethod();
行正在产生NPE。
答案 0 :(得分:2)
外部类管理内部实例创建有什么理由吗?例如,内部对象是否需要引用外部对象?如果是的话,你不能用它制作豆子。内部类只有在静态时才可以是bean。因此,您必须自己管理所有依赖项(创建它的代码应该完成工作)。
如果不需要对外部实例进行这样的引用,则使内部类静态,使用@Component注释,并让spring执行其余的依赖注入。