Spring(005)-多环境Profile

多个环境下的配置应该怎么进行,比如数据库连接字符,多个环境不同,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的配置

猜你喜欢

转载自www.cnblogs.com/Brake/p/11931515.html