【发布时间】:2014-09-03 18:52:33
【问题描述】:
我正在尝试实现 Spring Profiles 以根据指定的配置文件加载特定的类实现。要使用的配置文件被指定为包含在类路径中的属性文件中的属性 (spring.profiles.active)。
来源:https://github.com/overattribution/spring-profile-test
public interface MyService {
public void doSomething();
}
@Service
@Profile("preprod")
public class MyServicePreProdImpl implements MyService {
private final Logger LOG = LoggerFactory.getLogger(MyServicePreProdImpl.class);
@Override
public void doSomething() {
LOG.debug("Doing something in " + MyServicePreProdImpl.class.getName());
}
}
@Service
@Profile("prod")
public class MyServiceProdImpl implements MyService {
private final Logger LOG = LoggerFactory.getLogger(MyServiceProdImpl.class);
@Override
public void doSomething() {
LOG.debug("Doing something in " + MyServiceProdImpl.class.getName());
}
}
但是,我收到以下错误: 没有为依赖找到类型为 [com.example.profileservice.MyService] 的合格 bean。
我错过了什么?
更新 1:
我在 Web 应用程序初始化期间手动设置活动配置文件,但我仍然收到“未找到符合条件的 bean”错误。变化可以看这里:https://github.com/overattribution/spring-profile-test/commit/09175a10b28ea8e5a08b43ad1416431bcf094c9d
【问题讨论】:
标签: spring spring-mvc