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

JavaConfig中的Spring Bean别名

孙星鹏
2023-03-14

我有一个@service注释类,它提供了我可以在所有项目中使用的核心功能:

@Service
public class MyService {}
@Service
public class ExtendedMyService extends MyService {}
# MyService qualifier (default: myService)
myService.qualifier=extendedMyService

在XML中,它看起来像:

<alias name="${myService.qualifier}" alias="MyServiceAlias" />

这里也讨论了它,但我需要使用XML和JavaConfig来完成它。是否可能,如何实现?

共有1个答案

王楚青
2023-03-14

对此有一个打开的Jira:https://Jira.spring.io/browse/spr-6736

解决方法是在@configuration类中使用@bean:

@Configuration
public class AppConfig {

  @Bean(name = { "dataSource", "subsystemA-dataSource", "subsystemB-dataSource" })
  public MyService myService() {}

}
 类似资料:
  • 我之前在我的项目中使用了XML配置,一切都正常工作。 我们正在逐步转向java配置,所以现在我正处于一个混合使用java和XML配置的阶段。 我得到以下错误: UnsatisfiedDependencyException:创建名为“bean B”的bean时出错:通过字段“bean A”表示未满足的依赖关系; 嵌套异常是org.springframework.beans.factory.nosuc

  • 我们也可以使用JavaConfig类中的注解@Enable${store}Repositories来配置扫描包的路径。在实际开发中,要针对不同的持久化存储替换不同的${store}。下面是使用JavaConfig配置的一个例子: Example 13. Sample annotation based repository configuration @Configuration @EnableJp

  • 我想制作一个AngularJS Spring MVC Hibernate MySQL应用程序。我不知道如何配置SpringBean,这样我就可以对我的存储库和实体类使用自动连接的注释。 pom.xml依赖: 实体类: 的存储库: 的控制器: 配置类:

  • 我在spring boot应用程序中用groovy(spock)编写了一个集成测试。其中一个应用程序bean称为,它具有以下方法: 在类中还有其他方法。在我的集成测试中,我只想模拟该特定方法的响应。以以下方式: 我希望进行其他验证,但不是这次。基本上,我想实现这一点,但与斯波克。我想取消执行方法

  • 我有豆子,例如 服务(特定服务)是使用抽象方法初始化()扩展抽象类MyService并使用方法特定的Logic()实现接口MyInterface的类。 因此,管理器在服务对象上调用方法init(),如下所示: 但当bean初始化时,我有以下问题: 无法转换“java.util”类型的属性值。将LinkedHashSet设置为所需类型“java.util”。设置“for property”“serv

  • 有没有办法在刷新Spring上下文后找出bean创建顺序(或至少依赖顺序)? 只要简单的bean定义顺序就可以了。我不想要他们注册的顺序。我想要创建它们的顺序(依赖关系树)