【问题标题】:Is there a way to use Spring @Profile annotation at a package level?有没有办法在包级别使用 Spring @Profile 注释?
【发布时间】:2013-10-23 15:58:18
【问题描述】:

我正在尝试将特定配置文件的所有 bean 定义放在一起,并且不想将它们全部推送到一个巨大的 AppConfig.java 类中。我想知道是否有一种方法可以使用 package-info.java 在包级别进行注释,并使该包中的所有配置文件都继承配置文件。

我在 package-info.java 中尝试了以下内容:

@Profile("test")
package com.system.configuration.test;
import org.springframework.context.annotation.Profile;

但无论是否是“测试”配置文件,似乎都使用了包中的 @Configuration 类。

是单独注释每个类的唯一选择吗?

【问题讨论】:

    标签: spring configuration spring-java-config


    【解决方案1】:

    您可以通过为不同的配置文件创建单独的@Configuration 类来以不同的方式进行操作:

    @Configuration
    @Profile("test")
    @ComponentScan("com.system.configuration.test")
    public class TestProfile {
    }
    

    然后在你的主配置类上你需要做导入:

    @Configuration
    @Import(TestProfile.class)
    public class MainConfiguration {
    }
    

    【讨论】:

    • 不工作,如果“TestProfile”配置在 MainConfiguration 包下。
    猜你喜欢
    • 1970-01-01
    • 2018-08-24
    • 2013-08-26
    • 2010-12-09
    • 2020-09-10
    • 2013-11-13
    • 2016-10-24
    • 1970-01-01
    • 2014-06-14
    相关资源
    最近更新 更多