多个环境下的配置应该怎么进行,比如数据库连接字符,多个环境不同,spring的方案,大概总结如下。
例子,数据库配置。
定义一个获取数据库链接的接口
public interface DataConnection { String getConnection(); }
分别有dev和prod两个实现
@Component @Profile("dev") public class DevDataConnection implements DataConnection{ @Override public String getConnection() { return "dev"; } }
@Component @Profile("prod") public class ProdDataConnection implements DataConnection{ @Override public String getConnection() { return "prod"; } }
测试:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = DemoConfiguration.class) @ActiveProfiles("dev") public class DemoDaoTest { @Autowired private DemoDao demoDao; @Test public void testConnection() { String connection= demoDao.testConnection(); System.out.println(connection); } }
结果:
在本例中导入的是dev的配置