最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot 使用yml配置文件給靜態(tài)變量賦值教程

 更新時間:2020年04月26日 09:29:39   作者:Alice_qixin  
這篇文章主要介紹了springboot 使用yml配置文件給靜態(tài)變量賦值教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

聲明:

此處需求是修改封裝的clickhouseUtil數(shù)據(jù)查詢引擎連接工具類。由于此類中的方法都是靜態(tài)方法。連接地址等參數(shù)需要根據(jù)不同環(huán)境改變。例如開發(fā)下地址,測試下地址,生產(chǎn)地址等,所有通過配置文件來獲取不同環(huán)境下的配置參數(shù),但是使用的方法是靜態(tài)的,所有不能使用一般情況下的@value直接給變量賦值,需要用到spring 屬性的set方法來給靜態(tài)變量賦值,然后靜態(tài)方法使用靜態(tài)變量即可

方法:

第一步:在yml文件中配置需要的參數(shù)

clickhouse:
 address: jdbc:clickhouse://172.20.xxx.xxx:8123
 username: default
 password: xxxxx
 db: marketing
 socketTimeout: 600000

第二步:

類上一定要先注明@Component注解,在程序啟動是自動加載,否則靜態(tài)參數(shù)仍舊獲取不到配置文件的值

創(chuàng)建靜態(tài)變量

給靜態(tài)變量set方法上添加@Value()

 @Value("${clickhouse.address}")
 public void setClickhouseAddress(String address) {
 ClickHouseUtil.clickhouseAddress = address;
 }

最后在靜態(tài)方法中使用即可

@Component
public class ClickHouseUtil {
 
 private static String clickhouseAddress;
 
 private static String clickhouseUsername;
 
 private static String clickhousePassword;
 
 private static String clickhouseDB;
 
 private static Integer clickhouseSocketTimeout;
 
 @Value("${clickhouse.address}")
 public void setClickhouseAddress(String address) {
 ClickHouseUtil.clickhouseAddress = address;
 }
 @Value("${clickhouse.username}")
 public void setClickhouseUsername(String username) {
 ClickHouseUtil.clickhouseUsername = username;
 }
 @Value("${clickhouse.password}")
 public void setClickhousePassword(String password) {
 ClickHouseUtil.clickhousePassword = password;
 }
 @Value("${clickhouse.db}")
 public void setClickhouseDB(String db) {
 ClickHouseUtil.clickhouseDB = db;
 }
 @Value("${clickhouse.socketTimeout}")
 public void setClickhouseSocketTimeout(Integer socketTimeout) {
 ClickHouseUtil.clickhouseSocketTimeout = socketTimeout;
 }
 
 
 public static Connection getConn() {
 
 ClickHouseConnection conn = null;
 ClickHouseProperties properties = new ClickHouseProperties();
 properties.setUser(clickhouseUsername);
 properties.setPassword(clickhousePassword);
 properties.setDatabase(clickhouseDB);
 properties.setSocketTimeout(clickhouseSocketTimeout);
 ClickHouseDataSource clickHouseDataSource = new ClickHouseDataSource(clickhouseAddress,properties);
 try {
  conn = clickHouseDataSource.getConnection();
  return conn;
 } catch (SQLException e) {
  e.printStackTrace();
 }
 
 return null;
 }
 
 public static List<JSONObject> exeSql(String sql){
 log.info("cliockhouse 執(zhí)行sql:" + sql);
 Connection connection = getConn();
 try {
  Statement statement = connection.createStatement();
  ResultSet results = statement.executeQuery(sql);
  ResultSetMetaData rsmd = results.getMetaData();
  List<JSONObject> list = new ArrayList();
  while(results.next()){
  JSONObject row = new JSONObject();
  for(int i = 1;i<=rsmd.getColumnCount();i++){
   row.put(rsmd.getColumnName(i),results.getString(rsmd.getColumnName(i)));
  }
  list.add(row);
  }
 
  return list;
 } catch (SQLException e) {
  e.printStackTrace();
 }
 return null;
 }
 
}

以上這篇springboot 使用yml配置文件給靜態(tài)變量賦值教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java?log?is判斷引發(fā)的一系列事件解析

    java?log?is判斷引發(fā)的一系列事件解析

    這篇文章主要為大家介紹了java?log?is判斷引發(fā)的一系列事件解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Java關鍵詞final示例解讀

    Java關鍵詞final示例解讀

    這篇文章主要介紹了Java關鍵詞final解讀,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Java基于SpringBoot和tk.mybatis實現(xiàn)事務讀寫分離代碼實例

    Java基于SpringBoot和tk.mybatis實現(xiàn)事務讀寫分離代碼實例

    這篇文章主要介紹了Java基于SpringBoot和tk.mybatis實現(xiàn)事務讀寫分離代碼實例,讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務性增、改、刪操作,而從數(shù)據(jù)庫處理SELECT查詢操作,數(shù)據(jù)庫復制被用來把事務性操作導致的變更同步到集群中的從數(shù)據(jù)庫,需要的朋友可以參考下
    2023-10-10
  • springboot國際化多語言配置方式

    springboot國際化多語言配置方式

    這篇文章主要介紹了springboot國際化多語言配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 詳解SpringMVC驗證框架Validation特殊用法

    詳解SpringMVC驗證框架Validation特殊用法

    本篇文章主要介紹了詳解SpringMVC驗證框架Validation特殊用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • SpringSecurity數(shù)據(jù)庫進行認證和授權(quán)的使用

    SpringSecurity數(shù)據(jù)庫進行認證和授權(quán)的使用

    本文主要介紹了用戶的賬號、密碼以及角色信息在數(shù)據(jù)庫中的認證和授權(quán),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java流程控制語句最全匯總(上篇)

    Java流程控制語句最全匯總(上篇)

    這篇文章主要介紹了Java流程控制語句最全匯總(上篇),本文章內(nèi)容詳細,通過案例可以更好的理解數(shù)組的相關知識,本模塊分為了三部分,本次為上篇,需要的朋友可以參考下
    2023-01-01
  • java實現(xiàn)CSV文件導入與導出功能

    java實現(xiàn)CSV文件導入與導出功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)CSV文件導入與導出,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • spring boot 圖片上傳與顯示功能實例詳解

    spring boot 圖片上傳與顯示功能實例詳解

    這篇文章主要介紹了spring boot 圖片上傳與顯示功能實例詳解,需要的朋友可以參考下
    2017-04-04
  • Spring Security  整體架構(gòu)操作流程

    Spring Security  整體架構(gòu)操作流程

    這篇文章主要介紹了Spring Security  整體架構(gòu)操作流程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07

最新評論

雷山县| 安平县| 历史| 毕节市| 荥阳市| 友谊县| 淮北市| 绥中县| 建阳市| 晋江市| 玛沁县| 沂源县| 定结县| 余姚市| 云南省| 土默特右旗| 临邑县| 陕西省| 红河县| 鄂托克旗| 台南县| 伊金霍洛旗| 香港 | 江口县| 肇庆市| SHOW| 郸城县| 宜宾县| 伊川县| 晋江市| 抚州市| 西平县| 巴彦淖尔市| 聊城市| 彰化县| 腾冲县| 新龙县| 舒城县| 保德县| 瓮安县| 嘉荫县|