我正在尝试将特定配置文件的所有bean定义放在一起,而不是将它们全部放入一个巨大的AppConfig.java类中。我想知道是否有一种方法可以使用package-info.java在包级别进行注释,并且该包中的所有配置文件都会继承该配置文件。
我在package-info.java中尝试了以下内容:
@Profile("test")
package com.system.configuration.test;
import org.springframework.context.annotation.Profile;
但无论是否为“测试”配置文件,包中的@Configuration
类似乎都会被使用。
是单独注释每个班级的唯一选择吗?
答案 0 :(得分:2)
您可以通过为不同的配置文件创建单独的@Configuration
类来以不同的方式执行此操作:
@Configuration
@Profile("test")
@ComponentScan("com.system.configuration.test")
public class TestProfile {
}
然后在您的主要配置类上,您需要执行导入:
@Configuration
@Import(TestProfile.class)
public class MainConfiguration {
}