Discuss / Java / 学习笔记

学习笔记

Topic source

一九张

#1 Created at ... [Delete] [Delete and Lock User]

在不同的开发环境中使用不同配置的bean。

举个例子测试环境下和实际生产环境下应用连接的通常是不同的数据库,这个时候我们可以创建两个数据库bean对象并设置不同的配置信息。我学习两种方式实现根据环境选择不同配置的bean对象。

第一种是使用Profile注解
@Profile({ "test", "master" }) //支持test和master
@Profile("!test") //不支持test
@Profile("test") //仅支持test
第二种是使用condition注解
@Conditional(OnSmtpEnvCondition.class)
OnSmtpEnvCondition 的match逻辑需要手动实现

public class OnSmtpEnvCondition implements Condition {
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        return "condition";
    }
}


  • 1

Reply