@Inject 注入问题

class A{
    void ma();
}

class B{
    @Inject
    A a;

    void mb(){
        a.ma();
    }
}
class C{
    @Inject
    B b;
    
    void mc(){
        b.mb();
    }
}

执行 mc方法时,在class B中 注入的a是null 是不支持这么写吗还是我用的不对

评论区

freedom

2019-01-08 22:37

应该就是Aop.get(Class) Aop.inject(Object)的区别了

freedom

2019-01-08 23:05

还有和注入层级有关系

myth4ian

2019-01-09 08:52

文档里面有说:
使用 @Inject 注解可以向 Controller 以及 Interceptor 中注入依赖对象。
所以只有controller和interceptor中可以这样用。并且确认配置里面是否
me.setInjectDependency(true);
如果在其他情况中使用是这样用:
Service service = Aop.get(Service.class);

myth4ian

2019-01-09 08:53

参考:https://www.jfinal.com/doc/4-5