如何部署同一個Springbootweb應用到不同的環(huán)境

在現(xiàn)實項目當中我們往往都有不同的部署環(huán)境,例如:dev數(shù)據(jù)庫, system test 數(shù)據(jù)庫 和production 數(shù)據(jù)庫, 那么如何把同一個spring boot web app 部署到不同的數(shù)據(jù)庫環(huán)境呢?

成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為輝縣等服務建站,輝縣等地企業(yè),進行企業(yè)商務咨詢服務。為輝縣企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

spring boot 提供一個profile的功能, 通過配置多個profile文件,實現(xiàn)同一應用切換到不同的部署環(huán)境當中。這里不在詳細介紹profile的概念。有興趣自行到官網(wǎng)查詢。這里通過代碼來說明如何配置spring boot 來實現(xiàn)spring JDBC tempalte切換不同的jdbc數(shù)據(jù)源

1 在pom.xml引入必須的依賴

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency> 
        
     	<dependency>
   			 <groupId>com.oracle</groupId>
   			 <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>

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

2 創(chuàng)建不同的spring boot 配置文件,這三個文件分表代表dev,system,production

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

注意 application-{profile} 對應不同的環(huán)境。 可以通過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);
	    }

}

這里我創(chuàng)建了一個DataBaseConfig.java 的文件來配置jdbc 連接到數(shù)據(jù)庫并且返回數(shù)據(jù)源, 并且配置這個數(shù)據(jù)源來返回jdbcTemplate。 我這里使用的是傳統(tǒng)jdbc 連接數(shù)據(jù)庫并沒有使用hibernate. 

5 通過依賴注入(DI) 來調(diào)用JDBCTemplate. 

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

}	

這里我創(chuàng)建一個dao interface, 和dao Impl來注入這個jdbcTemplate. 

本文標題:如何部署同一個Springbootweb應用到不同的環(huán)境
文章路徑:http://muchs.cn/article14/ghedde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、網(wǎng)站內(nèi)鏈網(wǎng)站改版、定制網(wǎng)站、企業(yè)建站、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營