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

從基礎(chǔ)到實戰(zhàn)全解析Java加載Properties文件的六種方式

 更新時間:2025年12月29日 10:26:33   作者:醉風塘  
本文詳細介紹了Java中Properties文件的六種加載方式,每種方式都有其適用場景、實現(xiàn)步驟、優(yōu)缺點及最佳實踐,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧

在Java開發(fā)中,Properties文件是最常用的配置文件格式之一,其以key=value的鍵值對結(jié)構(gòu)存儲配置信息(如數(shù)據(jù)庫連接參數(shù)、接口地址、系統(tǒng)開關(guān)等),具有簡潔易維護、解耦配置與代碼的核心優(yōu)勢。不同場景下(如普通Java項目、Spring項目、Web應用、Java 9+模塊化項目),Properties文件的加載方式存在差異。本文將詳細拆解六種主流加載方式,包含適用場景、實現(xiàn)步驟、代碼示例、優(yōu)缺點及最佳實踐,幫助開發(fā)者靈活應對各類配置加載需求。

一、核心前提:Properties文件基礎(chǔ)

1. 文件格式與規(guī)范

  • 后綴名:.properties(默認)或.config(自定義)
  • 編碼:默認ISO-8859-1(不支持中文),推薦顯式指定UTF-8
  • 內(nèi)容格式:key=value(等號可替換為:),注釋以#!開頭
  • 示例(config.properties):
# 數(shù)據(jù)庫配置
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=123456
# 系統(tǒng)配置(中文需UTF-8編碼)
system.name=測試系統(tǒng)

2. 核心API

Java通過java.util.Properties類操作Properties文件,核心方法:

  • load(InputStream inStream):從字節(jié)流加載配置(默認ISO-8859-1編碼)
  • load(Reader reader):從字符流加載配置(支持指定編碼,如UTF-8)
  • getProperty(String key):獲取指定key的value(無值時返回null)
  • getProperty(String key, String defaultValue):獲取value,無值時返回默認值

二、六種加載方式詳解

方式一:ClassLoader.getResourceAsStream()(類路徑加載,最常用)

適用場景

  • 普通Java項目、Spring Boot項目
  • 配置文件放在classpath下(如src/main/resources目錄)
  • 需跨環(huán)境(開發(fā)/測試/生產(chǎn))移植,無需關(guān)心文件系統(tǒng)絕對路徑

核心原理

通過類加載器(ClassLoader)讀取classpath下的資源文件,路徑以classpath根目錄為基準,無需寫絕對路徑,支持打包后(JAR/WAR)的資源加載。

實現(xiàn)步驟與代碼示例

  1. 配置文件位置:src/main/resources/config.properties(Maven/Gradle項目標準目錄)
  2. 加載代碼(支持三種ClassLoader獲取方式):
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
public class PropertiesLoader1 {
    public static void main(String[] args) {
        Properties props = new Properties();
        // 方式1:當前類的ClassLoader(推薦,避免線程上下文類加載器問題)
        try (InputStreamReader isr = new InputStreamReader(
                PropertiesLoader1.class.getClassLoader().getResourceAsStream("config.properties"),
                StandardCharsets.UTF_8)) { // 顯式指定UTF-8編碼,解決中文亂碼
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("加載配置文件失敗", e);
        }
        // 方式2:Thread上下文類加載器(適用于多線程/框架場景)
        /*try (InputStreamReader isr = new InputStreamReader(
                Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"),
                StandardCharsets.UTF_8)) {
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("加載配置文件失敗", e);
        }*/
        // 方式3:系統(tǒng)類加載器(與方式1效果一致,不推薦)
        /*try (InputStreamReader isr = new InputStreamReader(
                ClassLoader.getSystemClassLoader().getResourceAsStream("config.properties"),
                StandardCharsets.UTF_8)) {
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("加載配置文件失敗", e);
        }*/
        // 讀取配置
        System.out.println("數(shù)據(jù)庫URL:" + props.getProperty("db.url"));
        System.out.println("系統(tǒng)名稱:" + props.getProperty("system.name")); // 中文正常顯示
    }
}

路徑規(guī)則

  • 相對路徑:直接寫文件名(如"config.properties"),默認從classpath根目錄查找
  • 子目錄:若文件在src/main/resources/config/db.properties,路徑為"config/db.properties"
  • 禁止寫絕對路徑(如"D:/config.properties"),類加載器僅識別classpath下的資源

優(yōu)缺點

  • 優(yōu)點:跨環(huán)境移植性強、支持JAR包內(nèi)資源、無需關(guān)心文件系統(tǒng)路徑
  • 缺點:僅能加載classpath下的文件,無法加載外部文件系統(tǒng)的配置

方式二:FileInputStream(文件系統(tǒng)路徑加載)

適用場景

  • 配置文件放在項目外部(如服務器特定目錄、用戶目錄)
  • 需動態(tài)指定配置文件路徑(如通過命令行參數(shù)傳入)
  • classpath下的本地文件加載

核心原理

通過文件系統(tǒng)的絕對路徑或相對路徑,直接讀取文件字節(jié)流,依賴操作系統(tǒng)的文件系統(tǒng)接口。

實現(xiàn)步驟與代碼示例

  1. 配置文件位置:D:/config/config.properties(絕對路徑)或./config.properties(項目根目錄相對路徑)
  2. 加載代碼:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
public class PropertiesLoader2 {
    public static void main(String[] args) {
        Properties props = new Properties();
        String filePath;
        // 方式1:絕對路徑(Windows/Dinux通用,Linux路徑如"/opt/config/config.properties")
        filePath = "D:/config/config.properties";
        // 方式2:相對路徑(基準目錄為項目根目錄,如IDEA中為項目文件夾)
        // filePath = "./config.properties";
        // 方式3:命令行參數(shù)傳入路徑(靈活適配不同環(huán)境)
        // if (args.length > 0) filePath = args[0];
        try (InputStreamReader isr = new InputStreamReader(
                new FileInputStream(filePath),
                StandardCharsets.UTF_8)) { // 指定UTF-8編碼
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("加載配置文件失敗,路徑:" + filePath, e);
        }
        // 讀取配置
        System.out.println("數(shù)據(jù)庫用戶名:" + props.getProperty("db.username"));
        System.out.println("數(shù)據(jù)庫密碼:" + props.getProperty("db.password"));
    }
}

路徑規(guī)則

  • 絕對路徑:包含完整的盤符(Windows)或根目錄(Linux),如"D:/config.properties"、"/opt/config.properties"
  • 相對路徑:以當前工作目錄為基準(IDEA中為項目根目錄,JAR運行時為啟動命令所在目錄),如"./conf/config.properties"(項目根目錄下的conf文件夾)
  • 注意:相對路徑的基準目錄可能因運行環(huán)境變化(如IDE、腳本啟動、容器部署),需謹慎使用

優(yōu)缺點

  • 優(yōu)點:可加載任意位置的文件、路徑靈活配置
  • 缺點:移植性差(路徑依賴操作系統(tǒng))、需手動處理路徑正確性、打包后無法加載JAR內(nèi)的資源

方式三:Spring框架加載(@PropertySource + @Value)

適用場景

  • Spring Framework、Spring Boot項目
  • 需集成Spring的依賴注入(DI),自動注入配置屬性
  • 支持多配置文件加載、占位符解析、配置優(yōu)先級管理

核心原理

Spring通過@PropertySource注解指定配置文件路徑,由PropertySourcesPlaceholderConfigurer自動加載配置,結(jié)合@Value注解注入屬性,支持classpath、文件系統(tǒng)路徑、URL等多種資源。

實現(xiàn)步驟與代碼示例

1. 普通Spring項目(XML配置)

<!-- applicationContext.xml -->
<context:component-scan base-package="com.example"/>
<context:property-placeholder 
    location="classpath:config.properties,file:D:/config/ext-config.properties" 
    file-encoding="UTF-8"/> <!-- 支持多文件、混合路徑、指定編碼 -->
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class SpringConfigLoader {
    // 注入配置屬性,支持默認值
    @Value("${db.url}")
    private String dbUrl;
    @Value("${db.username}")
    private String dbUsername;
    @Value("${system.name:默認系統(tǒng)}") // 無該key時返回默認值
    private String systemName;
    // 測試方法
    public void printConfig() {
        System.out.println("Spring加載 - 數(shù)據(jù)庫URL:" + dbUrl);
        System.out.println("Spring加載 - 系統(tǒng)名稱:" + systemName);
    }
}

2. Spring Boot項目(注解驅(qū)動)

Spring Boot默認加載classpath:application.properties/application.yml,若需加載自定義文件,使用@PropertySource

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
// 加載classpath下的config.properties和外部文件
@Configuration
@PropertySource(value = {
        "classpath:config.properties",
        "file:D:/config/ext-config.properties"
}, encoding = "UTF-8") // 指定UTF-8編碼(Spring 4.3+支持)
public class BootConfigLoader {
    @Value("${db.url}")
    private String dbUrl;
    @Value("${db.password}")
    private String dbPassword;
    @Value("${system.version:1.0.0}")
    private String systemVersion;
    // 提供getter方法供業(yè)務使用
    public String getDbUrl() {
        return dbUrl;
    }
    public String getDbPassword() {
        return dbPassword;
    }
}

3. Spring Boot 2.4+ 推薦方式(application.properties指定額外配置)

# application.properties
spring.config.import=classpath:config.properties,file:D:/config/ext-config.properties

路徑規(guī)則

  • classpath:前綴:加載classpath下的文件(如classpath:config.properties
  • file:前綴:加載文件系統(tǒng)路徑(如file:D:/config.properties
  • 無前綴:默認按classpath查找
  • 支持URL路徑:如https://config.example.com/config.properties(需網(wǎng)絡可達)

優(yōu)缺點

  • 優(yōu)點:集成Spring生態(tài)、支持依賴注入、自動解析占位符、多文件加載、配置優(yōu)先級管理
  • 缺點:依賴Spring框架、非Spring項目無法使用

方式四:Java 9+ Module資源加載(Module.getResourceAsStream())

適用場景

  • Java 9及以上模塊化項目(使用module-info.java
  • 需遵循模塊的資源訪問控制(避免非模塊訪問模塊內(nèi)資源)
  • 模塊化打包(JMOD/JAR)后的資源加載

核心原理

Java 9引入模塊系統(tǒng)(Module System)后,傳統(tǒng)ClassLoader加載資源可能受模塊權(quán)限限制,需通過Module接口的getResourceAsStream()方法加載模塊內(nèi)的資源,支持模塊間的資源訪問控制。

實現(xiàn)步驟與代碼示例

  1. 模塊化項目結(jié)構(gòu):
src/
├── main/
│   ├── java/
│   │   ├── com/
│   │   │   └── example/
│   │   │       └── ModuleConfigLoader.java
│   │   └── module-info.java
│   └── resources/
│       └── config.properties
  1. module-info.java配置(關(guān)鍵:開放資源訪問權(quán)限):
// 模塊名:com.example.config
module com.example.config {
    // 允許其他模塊訪問本模塊的資源(可選,若僅內(nèi)部使用可省略)
    opens com.example to java.base;
    // 導出包(若需外部模塊使用加載類)
    exports com.example;
}
  1. 加載代碼:
package com.example;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
public class ModuleConfigLoader {
    public static void main(String[] args) {
        Properties props = new Properties();
        // 方式1:通過當前類的Module加載(推薦)
        try (InputStreamReader isr = new InputStreamReader(
                ModuleConfigLoader.class.getModule().getResourceAsStream("config.properties"),
                StandardCharsets.UTF_8)) {
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("模塊內(nèi)加載配置文件失敗", e);
        }
        // 方式2:通過模塊名獲取Module(需模塊已加載)
        /*Module module = ModuleLayer.boot().findModule("com.example.config").orElseThrow();
        try (InputStreamReader isr = new InputStreamReader(
                module.getResourceAsStream("config.properties"),
                StandardCharsets.UTF_8)) {
            props.load(isr);
        } catch (IOException e) {
            throw new RuntimeException("加載模塊資源失敗", e);
        }*/
        // 讀取配置
        System.out.println("模塊加載 - 數(shù)據(jù)庫URL:" + props.getProperty("db.url"));
        System.out.println("模塊加載 - 系統(tǒng)名稱:" + props.getProperty("system.name"));
    }
}

關(guān)鍵注意事項

  • 模塊內(nèi)資源默認僅允許模塊內(nèi)部訪問,若需外部模塊訪問,需在module-info.java中通過opens語句開放資源所在包
  • 資源路徑以模塊的classpath為基準,與傳統(tǒng)類加載器路徑規(guī)則一致
  • 避免使用ClassLoader加載模塊化項目的資源,可能因模塊權(quán)限限制失敗

優(yōu)缺點

  • 優(yōu)點:符合Java模塊化規(guī)范、資源訪問可控、支持模塊化打包
  • 缺點:僅支持Java 9+、需額外配置module-info.java、非模塊化項目無法使用

方式五:Apache Commons Configuration(第三方庫加載)

適用場景

  • 需簡化加載邏輯(無需手動處理流、編碼)
  • 支持多種配置格式(Properties、XML、JSON等)
  • 需高級特性(配置刷新、變量插值、多文件合并)

核心原理

Apache Commons Configuration是Apache開源項目,提供了更強大的配置加載API,封裝了流處理、編碼轉(zhuǎn)換、異常處理等細節(jié),支持classpath、文件系統(tǒng)、URL等多種資源。

實現(xiàn)步驟與代碼示例

  1. 引入依賴(Maven):
<!-- Apache Commons Configuration 2.x -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-configuration2</artifactId>
    <version>2.10.1</version>
</dependency>
<!-- 依賴 Commons Lang 和 Commons Collections -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.14.0</version>
</dependency>
  1. 加載代碼:
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
public class CommonsConfigLoader {
    public static void main(String[] args) {
        PropertiesConfiguration config;
        try {
            // 方式1:加載classpath下的文件
            config = new PropertiesConfiguration("config.properties");
            // 方式2:加載文件系統(tǒng)路徑
            // config = new PropertiesConfiguration("D:/config/config.properties");
            // 方式3:指定編碼(默認UTF-8,無需額外處理中文)
            // config = new PropertiesConfiguration();
            // config.setEncoding("UTF-8");
            // config.load("classpath:config.properties");
        } catch (ConfigurationException e) {
            throw new RuntimeException("加載配置文件失敗", e);
        }
        // 讀取配置(支持默認值、類型轉(zhuǎn)換)
        String dbUrl = config.getString("db.url");
        String dbUsername = config.getString("db.username");
        String systemName = config.getString("system.name", "默認系統(tǒng)"); // 默認值
        int dbPort = config.getInt("db.port", 3306); // 類型轉(zhuǎn)換+默認值
        System.out.println("Commons加載 - 數(shù)據(jù)庫URL:" + dbUrl);
        System.out.println("Commons加載 - 數(shù)據(jù)庫端口:" + dbPort);
        System.out.println("Commons加載 - 系統(tǒng)名稱:" + systemName);
    }
}

核心特性

  • 自動處理編碼(默認UTF-8),無需手動創(chuàng)建InputStreamReader
  • 支持類型轉(zhuǎn)換(getInt、getBoolean等)
  • 支持配置刷新(config.refresh()
  • 支持多文件合并(CompositeConfiguration
  • 支持變量插值(如key=${other.key}

優(yōu)缺點

  • 優(yōu)點:API簡潔、功能強大、支持多種格式、無需手動處理流
  • 缺點:需引入第三方依賴、增加項目體積

方式六:ServletContext.getResourceAsStream()(Web應用專屬)

適用場景

  • Java Web應用(Servlet、JSP、SSM等)
  • 配置文件放在WEB-INF目錄下(安全,不允許客戶端直接訪問)
  • 需通過Servlet上下文加載Web應用內(nèi)的資源

核心原理

Web應用啟動時,Servlet容器(Tomcat、Jetty)會創(chuàng)建ServletContext(Servlet上下文),通過其getResourceAsStream()方法可加載Web應用目錄下的資源,路徑以/開頭,基準目錄為Web應用根目錄(WEB-INF的上級目錄)。

實現(xiàn)步驟與代碼示例

  1. 配置文件位置:WEB-INF/config/config.properties(Web應用目錄)
  2. 加載代碼(Servlet中):
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
@WebServlet("/configLoader")
public class ServletConfigLoader extends HttpServlet {
    private Properties props;
    // 初始化時加載配置(Servlet生命周期)
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        props = new Properties();
        // 通過ServletContext獲取資源流,路徑以"/"開頭(基準為Web應用根目錄)
        String resourcePath = "/WEB-INF/config/config.properties";
        try (InputStreamReader isr = new InputStreamReader(
                getServletContext().getResourceAsStream(resourcePath),
                StandardCharsets.UTF_8)) {
            props.load(isr);
        } catch (IOException e) {
            throw new ServletException("Web應用加載配置文件失敗,路徑:" + resourcePath, e);
        }
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/plain;charset=UTF-8");
        // 讀取配置并響應
        String dbUrl = props.getProperty("db.url");
        String systemName = props.getProperty("system.name");
        resp.getWriter().write("Web加載 - 數(shù)據(jù)庫URL:" + dbUrl + "\n");
        resp.getWriter().write("Web加載 - 系統(tǒng)名稱:" + systemName);
    }
}

路徑規(guī)則

  • 路徑以/開頭:基準目錄為Web應用根目錄(如Tomcat的webapps/應用名/
  • 示例路徑:
    • /WEB-INF/config.propertiesWEB-INF目錄下的配置文件
    • /resources/config.properties:Web應用根目錄下的resources文件夾
  • 禁止寫絕對路徑,僅支持Web應用內(nèi)的相對路徑

優(yōu)缺點

  • 優(yōu)點:安全(WEB-INF目錄不暴露給客戶端)、適配Web應用目錄結(jié)構(gòu)
  • 缺點:僅支持Web應用、依賴Servlet容器、非Web項目無法使用

三、六種加載方式對比總結(jié)

加載方式適用場景核心優(yōu)點核心缺點
ClassLoader.getResourceAsStream()普通Java項目、Spring Boot項目跨環(huán)境移植性強、支持JAR內(nèi)資源、無需路徑依賴僅加載classpath下文件
FileInputStream外部配置文件、動態(tài)指定路徑可加載任意位置文件、路徑靈活移植性差、需手動處理路徑正確性
Spring框架(@PropertySource)Spring生態(tài)項目支持DI注入、占位符解析、多文件加載依賴Spring框架
Java 9+ Module加載模塊化項目(Java 9+)資源訪問可控、符合模塊化規(guī)范僅支持Java 9+、需配置module-info.java
Apache Commons Configuration需高級配置特性(多格式、刷新)API簡潔、功能強大、自動處理編碼需引入第三方依賴
ServletContext.getResourceAsStream()Web應用安全(WEB-INF)、適配Web目錄結(jié)構(gòu)僅支持Web應用、依賴Servlet容器

四、最佳實踐

1. 配置文件存放位置

  • 普通Java項目:src/main/resources(classpath根目錄),子目錄按功能劃分(如resources/config/db.properties
  • Web應用:WEB-INF/config(避免客戶端直接訪問)
  • 外部配置:生產(chǎn)環(huán)境建議放在服務器獨立目錄(如/opt/config),通過環(huán)境變量或命令行參數(shù)指定路徑

2. 編碼處理規(guī)范

  • 強制指定UTF-8編碼:使用InputStreamReader(原生API)或框架自帶的編碼配置(Spring、Commons Configuration),避免中文亂碼
  • 禁止在Properties文件中直接寫中文(即使指定UTF-8,部分工具可能不兼容),推薦使用Unicode編碼(如system.name=\u6d4b\u8bd5\u7cfb\u7edf

3. 路徑寫法規(guī)范

  • 優(yōu)先使用classpath:前綴(Spring項目)或相對classpath路徑(ClassLoader方式),避免絕對路徑
  • 多環(huán)境適配:通過環(huán)境變量(如${CONFIG_PATH})或配置中心(Nacos、Apollo)管理路徑,避免硬編碼

4. 避免硬編碼

  • 禁止在代碼中寫死配置文件路徑(如"D:/config.properties"),通過命令行參數(shù)、環(huán)境變量、Spring Profiles等方式動態(tài)指定
  • 示例(Spring Boot多環(huán)境):
# application-dev.properties(開發(fā)環(huán)境)
config.path=classpath:config-dev.properties
# application-prod.properties(生產(chǎn)環(huán)境)
config.path=file:/opt/config/config-prod.properties

5. 配置刷新機制

  • 靜態(tài)配置:加載一次即可(如數(shù)據(jù)庫連接參數(shù))
  • 動態(tài)配置:需支持刷新(如通過Apache Commons Configuration的refresh()方法,或配置中心推送更新)

五、常見問題排查

問題現(xiàn)象根因分析解決方案
中文亂碼未指定UTF-8編碼,默認ISO-8859-1不支持中文使用InputStreamReader指定UTF-8,或框架編碼配置
找不到配置文件(FileNotFoundException)路徑錯誤(絕對路徑不存在、相對路徑基準錯誤)檢查路徑正確性、使用絕對路徑測試、打印System.getProperty("user.dir")確認基準目錄
ClassLoader加載不到文件文件未放在classpath下、路徑寫絕對路徑移至src/main/resources、使用相對classpath路徑
Spring @Value注入為null未加@PropertySource、配置文件路徑錯誤、未掃描組件檢查注解配置、路徑正確性、@Component掃描范圍
模塊化項目加載失敗模塊未開放資源訪問權(quán)限module-info.java中添加opens 包名 to 模塊名

六、總結(jié)

Java加載Properties文件的六種方式各有適配場景,核心選擇原則:

  • 普通Java項目/ Spring Boot項目:優(yōu)先使用ClassLoader.getResourceAsStream()或Spring的@PropertySource
  • 外部配置文件/動態(tài)路徑:使用FileInputStream或命令行參數(shù)+classpath混合方式
  • Web應用:使用ServletContext.getResourceAsStream()
  • Java 9+模塊化項目:使用Module.getResourceAsStream()
  • 需高級特性:使用Apache Commons Configuration

實際開發(fā)中,需結(jié)合項目類型(普通Java、Spring、Web、模塊化)、配置存放位置(classpath內(nèi)/外)、功能需求(動態(tài)刷新、多環(huán)境)選擇合適的加載方式,并遵循編碼規(guī)范、路徑規(guī)范、避免硬編碼等最佳實踐,確保配置加載的可靠性和可維護性。

到此這篇關(guān)于Java加載Properties文件的六種方式:從基礎(chǔ)到實戰(zhàn)全解析的文章就介紹到這了,更多相關(guān)Java加載Properties文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring?Cloud?Stream消息驅(qū)動組件使用方法介紹

    Spring?Cloud?Stream消息驅(qū)動組件使用方法介紹

    Spring?Cloud?Stream?消息驅(qū)動組件幫助我們更快速,更方便,更友好的去構(gòu)建消息驅(qū)動微服務的。當時定時任務和消息驅(qū)動的?個對比。消息驅(qū)動:基于消息機制做一些事情
    2022-09-09
  • Java設計模式UML之類圖精解

    Java設計模式UML之類圖精解

    在UML類圖中,類使用包含類名、屬性(field) 和方法(method) 且?guī)в蟹指罹€的矩形來表示,比如下圖表示一個Employee類,它包含name,age和email這3個屬性,以及modifyInfo()方法
    2022-02-02
  • Mybatis常用注解中的SQL注入實例詳解

    Mybatis常用注解中的SQL注入實例詳解

    MyBatis是一款優(yōu)秀的持久層框架,它支持定制化 SQL(靈活)、存儲過程(PLSQL模塊化的組件,數(shù)據(jù)庫的一部分)以及高級映射(表映射為Bean也可以將Bean映射為表),下面這篇文章主要給大家介紹了關(guān)于Mybatis常用注解中的SQL注入的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • 解析java創(chuàng)建對象的全過程

    解析java創(chuàng)建對象的全過程

    文章總結(jié)了Java創(chuàng)建對象的幾種方式,包括使用new關(guān)鍵字、反射、clone和反序列化,此外,還詳細描述了創(chuàng)建對象的過程,包括類加載、內(nèi)存分配和對象初始化,最后,強調(diào)了并發(fā)情況下的操作原子性問題
    2025-12-12
  • Spring中@Controller和@RestController的區(qū)別詳解

    Spring中@Controller和@RestController的區(qū)別詳解

    這篇文章主要介紹了Spring中@Controller和@RestController的區(qū)別詳解,@RestController?是?@Controller?和?@ResponseBody?的結(jié)合體,單獨使用?@RestController?的效果與?@Controller?和?@ResponseBody?二者同時使用的效果相同,需要的朋友可以參考下
    2023-10-10
  • java方法重寫和super關(guān)鍵字實例詳解

    java方法重寫和super關(guān)鍵字實例詳解

    這篇文章主要介紹了java方法重寫和super關(guān)鍵字實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • SpringSecurity實現(xiàn)動態(tài)加載權(quán)限信息的方法

    SpringSecurity實現(xiàn)動態(tài)加載權(quán)限信息的方法

    這篇文章主要介紹了SpringSecurity實現(xiàn)動態(tài)加載權(quán)限信息,本文給大家介紹的非常詳細,對大家的學習或工作具有一定需要的朋友可以參考下
    2022-01-01
  • java微信公眾號開發(fā)(搭建本地測試環(huán)境)

    java微信公眾號開發(fā)(搭建本地測試環(huán)境)

    這篇文章主要介紹了java微信公眾號開發(fā),主要內(nèi)容有測試公眾號與本地測試環(huán)境搭建,需要的朋友可以參考下
    2015-12-12
  • jdbc和mybatis的流式查詢使用方法

    jdbc和mybatis的流式查詢使用方法

    有些時候我們所需要查詢的數(shù)據(jù)量比較大,但是jvm內(nèi)存又是有限制的,數(shù)據(jù)量過大會導致內(nèi)存溢出。這個時候就可以使用流式查詢,本文就主要介紹了jdbc和mybatis的流式查詢,感興趣的可以了解一下
    2021-11-11
  • SpringBoot實現(xiàn)大模型流式Streaming響應的示例代碼

    SpringBoot實現(xiàn)大模型流式Streaming響應的示例代碼

    這篇文章主要為大家詳細介紹了SpringBoot實現(xiàn)大模型流式Streaming響應的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2026-01-01

最新評論

临汾市| 延津县| 洞口县| 象州县| 巴彦淖尔市| 西乌珠穆沁旗| 凤冈县| 枝江市| 兴隆县| 曲阜市| 宜君县| 乌拉特后旗| 广西| 大田县| 会泽县| 日喀则市| 衡山县| 莱芜市| 蒙城县| 澄迈县| 合江县| 湘潭县| 永川市| 定远县| 靖安县| 新蔡县| 扶余县| 荃湾区| 武定县| 龙泉市| 板桥市| 隆回县| 望江县| 河北省| 锡林浩特市| 运城市| 玛纳斯县| 南木林县| 友谊县| 桂林市| 延安市|