抽象父类@Autowired注入bean
来源:9-1 表属性设置为 NULL,你可能要面临很多麻烦
奶茶三兄弟d
2020-11-19
老师,问一个基础。。。。的问题,就是定义了一个抽象类,然后我@Autowired一些bean,通过属性注入的方式,
并且标记成private,为啥能注入进去,本身抽象类也不是bean啊,为啥能将bean注入进去呢,
这样的话,子类再调用的时候,还能够正常使用,这是为什么,麻烦老师说一下原理,谢谢老师!
如图所示
抽象类
子类
![
写回答
1回答
-
三兄弟你好:
其实,这个就是 Spring 的 IOC 的应用呀,没有高级的特性和语法呀。我给你解释一下你的疑问:
(1)private field 使用 @Autowired 当然是可以正常完成依赖注入的,这就是 Field 注入
(2)抽象类不是 Bean,但是,你的子类 extends 抽象类,且你的子类是 Bean(你可以看到,子类标注了 @Service),当然就可以完成注入了
所以,这就是 IOC 思想和原理的日常应用,不要想得过于复杂。
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
212020-11-19
相似问题