Ser*_*gey 3 java spring inversion-of-control
是否可以将bean注入内部类?
例如:
@Named
public class outer {
@Inject
private SomeClass inst; // Injected correctly
private static class inner {
@Inject
private AnotherClass instance; // Not being injected
...
Run Code Online (Sandbox Code Playgroud)
编辑:"AnotherClass"仅由内部类使用,所以我不想用它来污染外部类.将声明保留在内部类中的其他原因是,如果我将AnotherClass成员移动到外部类,我将不得不从内部类中删除static修饰符或将其添加到外部类成员.
@Inject仅在spring实例化对象时才使用注释.由于你注释了外部@Named,spring会从中创建一个bean并SomeClass正确地注入实例.另一方面inner,可能是您手动实例化的,因此Spring无法注意到此注释并对其执行某些操作.
这不是关于内部或顶级课程,而是关于谁创造了对象.
| 归档时间: |
|
| 查看次数: |
3340 次 |
| 最近记录: |