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

此位置不允许使用Spring注释@轮廓

西门智
2023-03-14

我有一个配置文件,我想根据配置文件在其中创建不同的bean。

出于某种原因,这是可行的:

@Configuration
@Profile("myProfile")
public class myClass {

这不是,在Eclipse中给出错误消息:

此位置不允许注释@Profile

@Bean
@Profile("myProfile")

我宁愿使用第二个,但我不确定我是否可以。Spring API说它应该可以工作:

可通过以下任一方式使用配置文件注释:

  • 作为任何类上的类型级注释,直接或间接使用组件进行注释,包括配置类
  • 作为元注释,用于编写自定义原型注释
  • 作为任何@Bean方法上的方法级注释

我使用的是Sping Framework 3.1.0,是否有可能在Bean上使用方法是在之后才引入的?

共有2个答案

易修洁
2023-03-14

在Spring 3. x中,配置文件注释仅限于一种类型。从Spring 4开始,您也可以在方法上使用@Profile

您需要将Spring版本至少更新到版本4。

韩耘豪
2023-03-14

是的,它是在第四年Spring推出的。

>

  • @Profile在版本3.2.9中。RELEASE仅允许将此注释放置在类型上。 <块引用>

    @目标(值=类型)

    @目标(值={类型,方法})

  •  类似资料:
    • 我发现以下错误:对于我们使用的swagger2.2.0位置,不允许使用注释@ApiResponses 如果不升级swagger版本,我们还有什么选择吗?请帮助。。

    • 我已经编写了这个类以及EventListener注释和一个triggerMail方法—— 但是,在eclipse ide中,它给出了错误此位置不允许注释@EventListener和参数triggerMail的非法修饰符;只允许最终。 如何解决此问题?请帮助。

    • 我正在为我的Spring Boot应用程序配置OAuth2。我找到了一个解释它的链接https://gigsterous.github.io/engineering/2017/03/01/spring-boot-4.html. 这是我的OAuth2Config文件: 这是我的appUSerService文件: 但是我得到了这个错误:这一行有多个标记——这个位置不允许使用注释@限定符——注释类型限定

    • 问题内容: 尝试使用中的注释时,Eclipse给了我这个错误。 我正在字段之前在带有注释的类中使用它。 以前,我在完全相同的地方使用过,很好。 我将 hibernate-core 从 4.1.9.Final 升级到 4.3.0.Beta3 并将 hibernate-commons- annotation 从 4.0.1 升级到 4.0.2 后,问题开始了。它说不推荐使用,建议使用它。 我发现的所有

    • 尝试使用javax中的索引注释时。持久性,Eclipse给了我这个错误。 我在字段之前使用它,在带有注释的类中。 之前,我使用的是org。冬眠注释。索引在完全相同的位置,结果很好。 问题是在我将hibernate-core从4.1.9升级后开始的。最终到4.3.0。Beta3和hibernate-Commons-注释从4.0.1到4.0.2。它说已弃用,并推荐一个。 我找到的所有文档和示例都将放在

    • 我要将此批注分组: }) 在单个注释中,缩短响应代码。我发现这个问题基本上有相同的问题。此线程中的解决方案是创建一个自定义注释,在我的示例中,该注释如下所示: 但是,当我尝试此操作时,我收到一条错误消息,即此位置不允许使用ApiResponses 有什么建议吗?