当前位置: 首页 > 知识库问答 >
问题:

通过注释的Bean继承

乐正浩博
2023-03-14

如何使用注释在Spring中提供bean继承?在XML配置中,我使用了

例如,我有两个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

公共类AppConfig{

@Bean(initMethod = "init")
public FileEventLogger fileEventLogger() {
    return new FileEventLogger("d:/1.txt");
}

@Bean(initMethod = "init")
public CacheFileEventLogger cacheFileEventLogger() {
   ???

}

}

我应该设置什么注释来cacheEventLogger扩展fileEventLogger?


共有2个答案

毋树
2023-03-14

Spring特定注释没有这样的parent属性,因为Java语言提供了创建模板并将其用作某些springbean的父级所需的一切(即继承、抽象)。

左丘兴生
2023-03-14

Spring注释没有SpringXML的等价物parenttag/attribute。JIRA中指定了一种变通方法,其中包含一些自定义编码。

请参阅相关的SpringJIRAhttps://jira.spring.io/browse/SPR-5580从这个带有注释的JiraBean定义继承中引用stackoverflow?

我想这就是你要找的。

 类似资料:
  • 问题内容: 使用基于注释的配置(等)是否可以实现相同的bean继承? http://docs.spring.io/spring/docs/4.1.0.BUILD-SNAPSHOT/spring-framework- reference/htmlsingle/#beans-child-bean- definitions 问题答案: java config中没有抽象bean的概念,因为Java语言已经

  • 使用基于注释的配置(等)是否可以实现相同的bean继承? http://docs.spring.io/spring/docs/4.1.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#beans-child-bean-definitions

  • 问题内容: 我试图通过注释将整个JSF托管Bean注入另一个托管Bean非常相似,但是我正在注入Bean,而不是Servlet)。这就是我在做什么: 不起作用(JSF 2.0 / Mojarra 2.0.3): 有没有可能或者我需要通过编程方式进行注射? 问题答案: 您需要添加setter和getter 当将解析并注入依赖项时,它将使用setters注入,因此适当的setters / getter

  • 本文向大家介绍Java继承的注释,包括了Java继承的注释的使用技巧和注意事项,需要的朋友参考一下 示例 默认情况下,类注释不适用于扩展它们的类型。可以通过将@Inherited注释添加到注释定义中来更改 示例 请考虑以下2个注释: 和 如果这样注释了三个类: 运行此代码 将打印与此类似的结果(取决于注释的包): 请注意,注释只能从类继承,而不能从接口继承。

  • 假设我有一个类,,其构造函数采用目标名称。为了对这个类进行CDI验证,我可以编写一个类似这样的生成器,它检查注入点以找到一个名为的注释(不是限定符,因为生成器方法不能用它可以生成的所有可能的主题名值进行注释): 但是假设这个类很重,但是线程安全,因此应该尽可能多地共享。这意味着我希望任何看起来像的注入站点共享以FooBar作为名称构建的的相同实例。 我们不能将producer方法标记为Applic

  • 我是Spring Security的新手。我看过很多关于如何通过外部属性文件的注释注入值的文章。我尝试了很多方法,但最终都是用java。lang.IllegalArgumentException:无法解析占位符“val.id”异常。 你能给我一些提示如何处理这个例外吗? 我的java类如下所示: 我的属性文件名为val.properties,位于WEB-INF下,其内容为val.id=xyz 我将