use*_*745 8 spring dependency-injection java-ee-5
我正在将一个spring-managed bean注入一个抽象类,它似乎不起作用.这是我所做的解释,如果还不够,我可以编辑帖子并添加一些代码:
结果 - 它不起作用.
然后我尝试将注入的bean从抽象类移动到两个子类中.现在它有效.
那么,我做错了什么,或者理论上不可能将bean注入Spring 3和Java EE 5的抽象类中?
Rav*_*yal 11
从理论上讲,使用spring 3和Java EE 5将bean注入抽象类是不可能的吗?
依赖注入发生在Object而不是它的Class上.Spring将依赖项注入到托管bean中,这些bean是已经由Spring实例化的对象.因为,抽象类不能被实例化,所以在这里考虑DI在概念上是错误的.
在某种程度上相关的说明中,您还可以通过将属性添加abstract=true到<bean>标记来将非抽象类定义为抽象Spring bean .这表明bean不会被实例化,并且只能作为其他bean可以通过bean继承使用的属性模板(根本不涉及Java继承).
在这种情况下,(如果你已经配置了)依赖注入只会发生在子bean而不是它们的父bean上,因为它已被定义为抽象.(注意:父bean不是必须抽象的,但是当它所做的只是作为一组公共bean属性时,它是有意义的.)
| 归档时间: |
|
| 查看次数: |
10008 次 |
| 最近记录: |