Mik*_*der 22 spring spring-annotations spring-3
我正在使用一个外部库,需要我使用XML Bean定义来配置它; 在Bean定义中,我需要从我的项目中提供一个带有Bean的外部类.我正在使用带有组件扫描的spring注释.
如何在XML Bean定义中引用带注释的Bean?
有没有替代方法来创建XML Bean定义?
详细信息: Spring 3.0.7
Cos*_*atu 35
无论如何创建(基于XML或annotation-元数据),每个bean都以唯一名称在应用程序上下文中结束.
如果您刚刚使用@Component或衍生物注释了您的类,而没有说明任何名称,则将应用默认命名方案,并且bean名称将是您的类名,第一个字符是小写的:ClassName => "className".
考虑到这一点,如果您需要在XML bean定义中注入该bean,您可以像上下文中的任何其他bean一样:
<bean id="someBean" class="SomeClass">
<property name="someProp" ref="className"/><!-- to stick to the above example -->
</bean>
Run Code Online (Sandbox Code Playgroud)
由于您正在将注释与XML混合,因此应用程序上下文将能够正确定位"className"bean.
@Service注释采用可选的String值,该值可用于为bean提供您选择的名称.例如,如果您的自定义bean看起来像:
@Service("mySpecialName")
public class MyClass { ... }
Run Code Online (Sandbox Code Playgroud)
然后你的xml可能有:
<bean class="com.someone.else.library.SomeClass">
<property name="someProp" ref="mySpecialName"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17588 次 |
| 最近记录: |