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

无法使用ActiveProfile批注连接

诸正谊
2023-03-14

首次使用配置文件并需要帮助。我有一个抽象基类(决策管理规则演示器),它通过注释连接其依赖项(规则处理程序)。

    @Component
    public class RuleHandler {......

   public abstract class DecisionManagementRuleExecutor<M extends PersistentEntity,T extends Response> implements RuleExecutor<M,T>{

   @Autowired
   RuleHandler ruleHandler;

当我使用“最”的配置文件运行时,我希望“ITestRuleHandler”是“规则处理程序”的子级。“伊斯特规则手”在哪里

    @Component
    @ActiveProfiles(value = "itest")
    public class ITestRuleHandler extends RuleHandler {

我在日志中看到活动配置文件是“itest”

    System.getProperty("spring.profiles.active")

我在贴接线的日志

处理bean'vendorServiceRuleExector'的注入元素: AutowiredFieldElement forc.a.p.d.RuleHandlerc.a.p.d.s.DecisionManagementRuleExecutor.ruleHandler返回单例bean'ITestRuleHandler'的缓存实例创建单例bean'ruleHandler'的共享实例创建bean'ruleHandler'的实例急切缓存bean'ruleHandler'以允许解析潜在的循环引用完成创建bean'ruleHandler'的实例按类型从bean名称'vendorServiceRuleExector'自动装配到名为'ruleHandler'的bean'vendoriceRuleExector'的实例完成创建bean'vendoriceRuleExector'的实例

编辑:更改了“规则处理程序”作为界面,现在我收到此错误:

  No qualifying bean of type [c.a.p.d.RuleHandler] is defined: expected single matching bean but found 2: ITestRuleHandler,iTestRuleHandler

共有1个答案

艾敏学
2023-03-14

要使实现ITestRuleHandler可用于itestprofile,您需要将类声明为:

@Component
@Profile("itest")
public class ITestRuleHandler extends RuleHandler

@ActiveProfiles激活一个或多个配置文件,而不是公开配置文件的组件。这应该应用于其中一个测试(或使用)类,以激活用于测试(或消耗)的配置文件。

 类似资料:
  • 下面是我的代码, 我无法用注释来注释类, Netbean IDE说注释类型不适用于这种声明。 我用netbeans运行JDK 1.6和Jaxb 1.5。 感谢您的任何帮助。

  • 问题内容: 我做了很多研究,对我来说一切看起来都不错……但是我无法使它正常工作!有人知道吗? 不管我做什么,相关的映射对任何人都保持公开状态(无论匿名或登录,无论他们扮演什么角色)。 理想情况下,我希望所有请求都公开,但@Secured()注释的请求除外-显然,只有具有特定角色的用户才能访问这些映射。 那可能吗? 仅供参考,我目前构建了一种方法“ hasRole(String role)”,该方法

  • 我试图用Spring Boot和MongoDB运行一个自定义聚合查询,该查询返回子文档中符合特定条件的字段的总和。 目前,我有一个查询,返回子文档中字段的总和,但不考虑条件的匹配。 工作查询: 返回: 下一个聚合不起作用: 返回: 在mongo shell中运行此查询非常好。在Spring中,它返回更多的数据(非常确定它返回的是未卷绕的数据),所有字段都为空。 编辑: 如何在MongoDB中的数据

  • 安全配置 其他配置文件config git项目中的这个项目 告诉我,怎么了?为什么会出错?

  • 我想通过.properties文件配置bean字符串字段。但它并不替换值键,这意味着它回显“${value}”字符串。我的代码如下:

  • 我使用@Profile Spring注释在嵌入式、独立和容器管理的数据源之间进行选择。为了选择“嵌入”,我的集成测试被注释为激活适当的配置文件: 问题是,我想将'@ActiveProfiles'移动到TestConfigWrapper,但这样做没有得到执行,应用程序上下文也不会加载任何数据源。 有没有一种方法可以使用java配置来实现这一点?