如何部署同一个Springbootweb应用到不同的环境-创新互联

在现实项目当中我们往往都有不同的部署环境,例如:dev数据库, system test 数据库 和production 数据库, 那么如何把同一个spring boot web app 部署到不同的数据库环境呢?

目前创新互联建站已为1000多家的企业提供了网站建设、域名、虚拟主机成都网站托管、企业网站设计、安岳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

spring boot 提供一个profile的功能, 通过配置多个profile文件,实现同一应用切换到不同的部署环境当中。这里不在详细介绍profile的概念。有兴趣自行到官网查询。这里通过代码来说明如何配置spring boot 来实现spring JDBC tempalte切换不同的jdbc数据源

1 在pom.xml引入必须的依赖

              org.springframework.boot             spring-boot-starter-jdbc                                        org.springframework             spring-jdbc                               com.oracle      ojdbc6         11.2.0.3

注:这里我使用的是oracle jdbc。

2 创建不同的spring boot 配置文件,这三个文件分表代表dev,system,production

application.properties application-sys.properties application-prod.properties

注意 application-{profile} 对应不同的环境。 可以通过java -jar -Dspring.profile.active=sys 来切换不同的配置文件

3 配置不同的jdbc 信息到相应的配置文件当中

在application.properties 文件中 spring.datasource.url=jdbc:oracle:thin:@dev01.example.com:1521:lausoned spring.datasource.username=devUser spring.datasource.password=XXXXX spring.datasource.driver-class-name=oracle.jdbc.OracleDriver 在application-sys.properties spring.datasource.url=jdbc:oracle:thin:@sys01.example.com:1521:lausoned spring.datasource.username=sysUser spring.datasource.password=XXXXX spring.datasource.driver-class-name=oracle.jdbc.OracleDriver 在application-prod.properties spring.datasource.url=jdbc:oracle:thin:@prodv01.example.com:1521:lausoned spring.datasource.username=prodUser spring.datasource.password=XXXXX spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

4 配置spring boot

@Configuration public class DataBaseConfig { @Bean(name="asuDBsource") @ConfigurationProperties(prefix="spring.datasource") public DataSource primaryDataSource() {     return DataSourceBuilder.create().build(); }  @Bean(name = "asuJDBC")  @Autowired   public JdbcTemplate blcJdbcTemplate(@Qualifier("asuDBsource") DataSource source) {         return new JdbcTemplate(source);     } }

这里我创建了一个DataBaseConfig.java 的文件来配置jdbc 连接到数据库并且返回数据源, 并且配置这个数据源来返回jdbcTemplate。 我这里使用的是传统jdbc 连接数据库并没有使用hibernate.

5 通过依赖注入(DI) 来调用JDBCTemplate.

@Repository public class AsuDaoImpl implements IAsuDao { @Autowired @Qualifier(value="asuJDBC") private JdbcTemplate jdbcTemplate; }

这里我创建一个dao interface, 和dao Impl来注入这个jdbcTemplate.

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:如何部署同一个Springbootweb应用到不同的环境-创新互联
地址分享:http://myzitong.com/article/csddgj.html