Age*_*ntX 5 java spring dependency-injection inner-classes
我在内部类中有一个被@Autowired 的类。但是在执行它时会抛出一个空指针异常,而在外部类中自动装配时它可以正常工作
class outer {
...
class inner {
@Autowired
private var somevar;
private process () {
somevar.someMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
知道为什么这不起作用吗?somevar.someMethod();线正在生成 NPE。
外部类管理内部实例创建有什么原因吗?例如,内部对象是否需要对外部对象的引用?如果是的话,你就无法用它来制作豆子。仅当内部类是静态的时,它们才可以是 Bean。因此,您必须自己管理所有依赖项(创建它的代码应该完成这项工作)。
如果不需要对外部实例进行这样的引用,请将内部类设为静态,使用@Component进行注释,然后让 spring 完成其余的依赖注入。
| 归档时间: |
|
| 查看次数: |
5733 次 |
| 最近记录: |