中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何部署同一個Spring boot web 應用到不同的環境

發布時間:2020-06-05 15:49:11 來源:網絡 閱讀:1696 作者:vjjy001 欄目:數據庫

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


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


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 創建不同的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. 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新昌县| 井研县| 固安县| 咸阳市| 临猗县| 化德县| 嵩明县| 民县| 唐海县| 合水县| 孟州市| 赞皇县| 邵武市| 岫岩| 松原市| 怀化市| 天全县| 忻州市| 沭阳县| 竹山县| 武穴市| 安化县| 固始县| 五莲县| 蒙自县| 阳朔县| 西宁市| 定边县| 怀化市| 烟台市| 锦屏县| 江西省| 蚌埠市| 海阳市| 莒南县| 额济纳旗| 巴彦淖尔市| 元朗区| 新蔡县| 扶沟县| 溆浦县|