如何使用注释在Spring中提供bean继承?在XML配置中,我使用了<parent="parentBean">
标记。有没有注释?
例如,我有两个bean(cacheEventLogger扩展fileEventLogger):
<bean id="fileEventLogger" class="com.myuspring.core.loggers.FileEventLogger" init-method="init">
<constructor-arg value="d:/1.txt"/>
</bean>
<bean id="cacheEventLogger" class="com.myspring.core.loggers.CacheFileEventLogger" init-method="init"
parent="fileEventLogger" >
<constructor-arg value="15"/>
<property name="cacheSize" value="2"/>
我创建了AppConfig类:
@Configuration
public class AppConfig {
@Bean(initMethod = "init")
public FileEventLogger fileEventLogger() {
return new FileEventLogger("d:/1.txt");
}
@Bean(initMethod = "init")
public CacheFileEventLogger cacheFileEventLogger() {
???
}
}
我应该为cacheEventLogger设置什么注释来扩展fileEventLogger?
答案 0 :(得分:1)
Spring特定的注释没有这样的parent
属性,因为Java语言提供了创建模板所需的一切(即继承,抽象)并将其用作某些Spring-beans的父。
答案 1 :(得分:1)
Spring注释没有spring XML parent
标记/属性的等价物。 JIRA中指定了一些解决方法,其中包含一些自定义编码。
请参阅相关的春季JIRA https://jira.spring.io/browse/SPR-5580以及对此JIRA Bean definition inheritance with annotations?
的stackoverflow答案的引用我认为这就是你要找的东西。