最近中文字幕国语免费完整,中文亚洲无线码49vv,中文无码热在线视频,亚洲自偷自拍熟女另类,中文字幕高清av在线

當(dāng)前位置: 首頁 > 技術(shù)教程

java配置文件怎么創(chuàng)建 java中配置文件的作用是什么

  在 Java 開發(fā)中,配置文件是連接 “代碼邏輯” 與 “環(huán)境參數(shù)” 的關(guān)鍵橋梁。很多開發(fā)者習(xí)慣將數(shù)據(jù)庫地址、端口號、密鑰等參數(shù)硬編碼到代碼中,導(dǎo)致后續(xù)修改需重新編譯、部署,效率極低。而配置文件能將這些可變參數(shù)單獨(dú)存儲,實(shí)現(xiàn) “配置與代碼分離”。小編將先拆解 Java 配置文件的核心作用,再詳解三種主流配置文件的創(chuàng)建方法,助你規(guī)范配置管理,提升開發(fā)與維護(hù)效率。

  一、java中配置文件的作用是什么

  配置文件的本質(zhì)是 “存儲可變參數(shù)的獨(dú)立文件”,核心作用體現(xiàn)在三個(gè)維度,直接解決硬編碼的痛點(diǎn):

  1. 解耦配置與代碼,避免重復(fù)開發(fā)

  硬編碼時(shí),若需修改數(shù)據(jù)庫地址(如從測試環(huán)境切換到生產(chǎn)環(huán)境),需找到代碼中所有涉及該地址的地方逐一修改,再重新編譯、打包、部署,步驟繁瑣且易出錯(cuò)。

  配置文件將參數(shù)集中存儲,代碼通過 “讀取配置文件” 獲取參數(shù) —— 修改時(shí)只需編輯配置文件,無需改動(dòng)代碼,更無需重新編譯。例如:將數(shù)據(jù)庫 URL、用戶名、密碼存入配置文件,切換環(huán)境時(shí)僅需替換配置文件,代碼邏輯完全不變,大幅減少重復(fù)開發(fā)與部署成本。

  2. 簡化維護(hù),降低修改風(fēng)險(xiǎn)

  配置文件采用 “鍵值對” 或 “結(jié)構(gòu)化” 格式,參數(shù)清晰易讀,非開發(fā)人員(如運(yùn)維人員)也能輕松修改。例如:運(yùn)維人員無需懂代碼,只需在配置文件中調(diào)整服務(wù)器端口號、日志級別,即可完成服務(wù)參數(shù)優(yōu)化;若參數(shù)硬編碼在代碼中,運(yùn)維人員需依賴開發(fā)人員修改,溝通成本高且易因代碼誤改引入 Bug。

  3. 適配多環(huán)境,提升部署靈活性

Java 應(yīng)用通常需在 “開發(fā)、測試、生產(chǎn)” 多環(huán)境運(yùn)行,不同環(huán)境的參數(shù)(如數(shù)據(jù)庫地址、API 域名)差異較大。配置文件支持 “多環(huán)境隔離”—— 為每個(gè)環(huán)境創(chuàng)建獨(dú)立配置文件(如application-dev.properties、application-prod.properties),部署時(shí)只需指定啟用的環(huán)境,應(yīng)用即可自動(dòng)加載對應(yīng)配置,無需手動(dòng)調(diào)整參數(shù)。例如:Spring Boot 項(xiàng)目通過spring.profiles.active=prod指定啟用生產(chǎn)環(huán)境配置,實(shí)現(xiàn) “一次打包,多環(huán)境部署”。

360截圖20250425224758032.jpg

  二、Java 配置文件的創(chuàng)建方法

  Java 中常用的配置文件格式有.properties(基礎(chǔ)鍵值對)、.yml(簡潔結(jié)構(gòu)化)、.xml(復(fù)雜場景),創(chuàng)建方法與適用場景不同,以下為詳細(xì)步驟:

  (一)格式 1:.properties 文件(最基礎(chǔ),全場景通用)

  .properties是 Java 最經(jīng)典的配置格式,采用 “鍵 = 值” 結(jié)構(gòu),語法簡單,支持所有 Java 項(xiàng)目(如普通 Java 項(xiàng)目、Spring 項(xiàng)目),創(chuàng)建步驟如下:

  創(chuàng)建文件:

  在 IDE(如 IntelliJ IDEA)的項(xiàng)目中,右鍵 “src/main/resources” 目錄(Maven/Gradle 項(xiàng)目標(biāo)準(zhǔn)資源目錄)→ 選擇 “New→File”,文件名輸入config.properties(前綴自定義,后綴必須為.properties)。

  編寫配置內(nèi)容:

  按 “鍵 = 值” 格式編寫參數(shù),鍵名建議用 “層級。名稱” 格式(如db.url),增強(qiáng)可讀性,示例:

  properties取消自動(dòng)換行復(fù)制

  # 數(shù)據(jù)庫配置(#開頭為注釋)

  db.url=jdbc:mysql://localhost:3306/test_db

  db.username=root

  db.password=123456

  # 服務(wù)配置

  server.port=8080

  server.log.level=info

  注意:中文需用 Unicode 編碼(如 “測試” 編碼為\u6D4B\u8BD5),否則可能出現(xiàn)亂碼。

  代碼中讀取:

  通過Properties類讀取配置,示例代碼:

  java取消自動(dòng)換行復(fù)制

  import java.io.InputStream;

  import java.util.Properties;

  public class ReadProperties {

  public static void main(String[] args) throws Exception {

  // 1. 創(chuàng)建Properties對象

  Properties props = new Properties();

  // 2. 加載配置文件(通過類加載器獲取資源流)

  InputStream is = ReadProperties.class.getClassLoader().getResourceAsStream("config.properties");

  props.load(is);

  // 3. 讀取配置參數(shù)

  String dbUrl = props.getProperty("db.url");

  String dbUser = props.getProperty("db.username");

  System.out.println("數(shù)據(jù)庫地址:" + dbUrl);

  System.out.println("數(shù)據(jù)庫用戶名:" + dbUser);

  }

  }

  (二)格式 2:.yml 文件(簡潔結(jié)構(gòu)化,Spring Boot 首選)

  .yml(YAML)采用縮進(jìn)表示層級,語法簡潔、可讀性強(qiáng),支持列表、嵌套結(jié)構(gòu),是 Spring Boot 項(xiàng)目的默認(rèn)配置格式,創(chuàng)建步驟如下:

  創(chuàng)建文件:

  在 Spring Boot 項(xiàng)目的 “src/main/resources” 目錄下,右鍵 “New→File”,文件名輸入application.yml(Spring Boot 默認(rèn)識別此名稱,自定義名稱需額外配置)。

  編寫配置內(nèi)容:

  采用 “鍵:值”(冒號后需加空格)格式,縮進(jìn)用 2 個(gè)空格(不支持 Tab),支持嵌套與列表,示例:

  yaml取消自動(dòng)換行復(fù)制

  # 服務(wù)配置

  server:

  port: 8081 # 服務(wù)端口

  servlet:

  context-path: /demo # 項(xiàng)目訪問路徑

  # 數(shù)據(jù)庫配置(嵌套結(jié)構(gòu))

  spring:

  datasource:

  url: jdbc:mysql://localhost:3306/prod_db

  username: admin

  password: 654321

  driver-class-name: com.mysql.cj.jdbc.Driver

  # 列表結(jié)構(gòu)(如多數(shù)據(jù)源配置)

  app:

  datasources:

  - name: db1

  url: jdbc:mysql://localhost:3306/db1

  - name: db2

  url: jdbc:mysql://localhost:3306/db2

  優(yōu)勢:相比.properties,嵌套結(jié)構(gòu)更清晰,多參數(shù)場景下可讀性更高。

  代碼中讀?。?/p>

  Spring Boot 項(xiàng)目可通過@ConfigurationProperties或@Value注解自動(dòng)注入配置,無需手動(dòng)加載,示例:

  java取消自動(dòng)換行復(fù)制

  import org.springframework.beans.factory.annotation.Value;

  import org.springframework.web.bind.annotation.GetMapping;

  import org.springframework.web.bind.annotation.RestController;

  @RestController

  public class ConfigController {

  // 通過@Value注入配置

  @Value("${server.port}")

  private int serverPort;

  @Value("${spring.datasource.url}")

  private String dbUrl; 

  @GetMapping("/config")

  public String getConfig() {

  return "服務(wù)端口:" + serverPort + ",數(shù)據(jù)庫地址:" + dbUrl;

  }

  }

  (三)格式 3:.xml 文件(復(fù)雜場景,傳統(tǒng)框架常用)

  .xml采用標(biāo)簽式結(jié)構(gòu),支持復(fù)雜的嵌套與約束,常用于傳統(tǒng) Java 框架(如 Spring、MyBatis)的配置,創(chuàng)建步驟如下:

  創(chuàng)建文件:

  在 MyBatis 項(xiàng)目的 “src/main/resources” 目錄下,右鍵 “New→File”,文件名輸入mybatis-config.xml(MyBatis 核心配置文件)。

  編寫配置內(nèi)容:

  通過標(biāo)簽定義配置,需遵循框架的 XML Schema 約束(如 MyBatis 的mybatis-3-config.dtd),示例:

  xml取消自動(dòng)換行復(fù)制

  適用場景:需嚴(yán)格約束配置結(jié)構(gòu)、支持復(fù)雜嵌套的場景(如框架級配置)。

  代碼中讀取:

  以 MyBatis 為例,通過SqlSessionFactory加載 XML 配置,示例:

  java取消自動(dòng)換行復(fù)制

  import org.apache.ibatis.io.Resources;

  import org.apache.ibatis.session.SqlSessionFactory;

  import org.apache.ibatis.session.SqlSessionFactoryBuilder;

  import java.io.InputStream; 

  public class MyBatisConfig {

  public static void main(String[] args) throws Exception {

  // 加載XML配置文件

  String resource = "mybatis-config.xml";

  InputStream inputStream = Resources.getResourceAsStream(resource);

  // 創(chuàng)建SqlSessionFactory

  SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

  System.out.println("MyBatis配置加載成功:" + sqlSessionFactory);

  }

  }

  Java 配置文件雖小,卻是規(guī)范開發(fā)、提升維護(hù)效率的關(guān)鍵。掌握其創(chuàng)建方法與作用,能避免硬編碼帶來的痛點(diǎn),讓項(xiàng)目更易擴(kuò)展、更易部署,為后續(xù)迭代奠定良好基礎(chǔ)。

 


猜你喜歡