Spring 用注解Annotation注入 abstract 抽象父类的属性
Posted javaPie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 用注解Annotation注入 abstract 抽象父类的属性相关的知识,希望对你有一定的参考价值。
Spring 用注解Annotation注入 abstract 抽象父类的属性
原创 2016年08月10日 18:46:43问题:
希望把子类公共的属性放在抽象类中。运行时,希望在Spring 扫描@Component注解,自动加载子类的同时,自动注入抽象父类的属性。
抽象父类:
- 1
- 2
- 3
- 4
- 5
子类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
运行时报空指针异常,说明子类中,super.settings并没有通过@Autowired加载
原因是 Spring Ioc 注入的对象是实例,而不是类。
实例化子类的时候,抽象父类不可能实例化,所以属性 settings 并没有自动加载。
解决办法:
父类:
- 1
- 2
- 3
子类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
测试类:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
参考文献:
[1] Kshitiz Sharma. http://stackoverflow.com/questions/16733509/proper-way-to-inject-parent-class-dependencies-with-spring-annotations May 24, 2013.
以上是关于Spring 用注解Annotation注入 abstract 抽象父类的属性的主要内容,如果未能解决你的问题,请参考以下文章