亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文詳解Spring加載properties文件的方式

 更新時間:2022年06月11日 15:08:26   作者:夏志121  
這篇文章將通過一些示例為大家詳細介紹Spring加載properties文件的幾種方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

spring第三方資源配置管理

  • DruidDataSource
  • ComboPooledDataSource

一、druid的資源配置管理

導入druid的坐標:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

App運行輸出druid:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import javax.sql.DataSource;
 
public class App {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        DataSource dataSource = (DataSource) ctx.getBean("dataSource");
        System.out.println(dataSource);
 
    }
}

applicationContext.xml配置:

配置數據源對象作為spring管理的bean

<!--    管理DruidDataSource對象-->
   <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
           <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
           <property name="url" value="jdbc:mysql://localhost:3306/spring_db"/>
           <property name="username" value="root"/>
           <property name="password" value="root"/>
   </bean>

執(zhí)行結果:

二、c3p0資源配置管理

maven遠程倉庫中找:

導入c3p0的坐標:

        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

c3p0還需要mysql的驅動,導入mysql的坐標:

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

App運行輸出與上面的一樣。

applicationContext.xml配置:

  <!--c3p0連接池對象-->
       <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
           <property name="driverClass" value="com.mysql.jdbc.Driver"/>
           <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring_db"/>
           <property name="user" value="root"/>
           <property name="password" value="root"/>
           <property name="maxPoolSize" value="1000"/>
       </bean>

也可以配置最大連接對象和其他需要配置數據。

執(zhí)行結果:

三、加載properties文件

1、開啟context命名空間,總共5處標紅的地方需要修改為context。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">

2、使用context命名空間,加載指定properties文件

<context:property-placeholder location="jdbc.properties"/>

properties配置文件,配置時要加jdbc,不然會和系統(tǒng)環(huán)境變量沖突,系統(tǒng)優(yōu)先級高:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/spring_db
jdbc.username=root
jdbc.password=root

3、使用${ }讀取加載的properties文件中的屬性值

說明:idea自動識別${ }加載的屬性值,需要手工點擊才可以查閱原始書寫格式

<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>

不加載系統(tǒng)屬性

可通過此種方法不加載系統(tǒng)屬性,就不會和系統(tǒng)屬性沖突:

system-properties-mode屬性:是否加載系統(tǒng)屬性

<context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>

加載多個properties文件

用逗號分隔可加載多個properties文件:

<context:property-placeholder location="jdbc.properties,jdbc2.properties"/>

加載所有properties文件

<context:property-placeholder location="*.properties"/>

加載properties文件標準格式

classpath:*.properties:設置加載當前工程類路徑中的所有properties文件

<context:property-placeholder location="classpath:*.properties"/>

從類路徑或jar包中搜索并加載properties文件

classpath*:*.properties:設置加載當前工程類路徑和當前工程所依賴的所有jar包中的所有properties文件

<context:property-placeholder location="classpath*:*.properties"/>

以上就是一文詳解Spring加載properties文件的方式的詳細內容,更多關于Spring加載properties文件的資料請關注腳本之家其它相關文章!

相關文章

  • java 多線程與并發(fā)之volatile詳解分析

    java 多線程與并發(fā)之volatile詳解分析

    volatile這個關鍵字可能很多朋友都聽說過,或許也都用過。在Java 5之前,它是一個備受爭議的關鍵字,因為在程序中使用它往往會導致出人意料的結果。在Java 5之后,volatile關鍵字才得以重獲生機
    2021-11-11
  • Java解決線程的不安全問題之volatile關鍵字詳解

    Java解決線程的不安全問題之volatile關鍵字詳解

    這篇文章主要介紹了Java解決線程的不安全問題之volatile關鍵字詳解,可見性指一個線程對共享變量值的修改,能夠及時地被其他線程看到,而 volatile 關鍵字就保證內存的可見性,需要的朋友可以參考下
    2023-08-08
  • Java序列化常見的三個問題

    Java序列化常見的三個問題

    這篇文章主要介紹了Java序列化常見的三個問題,幫助大家更好的理解和學習JAVA,感興趣的朋友可以了解下
    2020-08-08
  • Spring使用AOP完成統(tǒng)一結果封裝實例demo

    Spring使用AOP完成統(tǒng)一結果封裝實例demo

    這篇文章主要介紹了Spring使用AOP完成統(tǒng)一結果封裝,本文通過實現demo給大家詳細講解,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • JDBC SQL語法

    JDBC SQL語法

    結構化查詢語言(SQL)是一種標準化的語言,它允許你在數據庫上執(zhí)行操作,如創(chuàng)建項目,讀取內容,內容更新和刪除條目
    2014-03-03
  • java編程之基于SpringBoot框架實現掃碼登錄

    java編程之基于SpringBoot框架實現掃碼登錄

    本文將介紹基于SpringBoot + Vue + Android實現的掃碼登錄demo的總體思路,文中附含詳細示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Java Map 通過 key 或者 value 過濾的實例代碼

    Java Map 通過 key 或者 value 過濾的實例代碼

    這篇文章主要介紹了Java Map 通過 key 或者 value 過濾的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • springboot整合httpClient代碼實例

    springboot整合httpClient代碼實例

    這篇文章主要介紹了springboot整合httpClient代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • java利用StringTokenizer分割字符串的實現

    java利用StringTokenizer分割字符串的實現

    利用java.util.StringTokenizer的方法,可以將一個字符串拆分為一系列的標記,本文就來介紹一下java利用StringTokenizer分割字符串的實現,感興趣的可以了解一下
    2023-10-10
  • Java將本地項目部署到Linux服務器的實踐

    Java將本地項目部署到Linux服務器的實踐

    本文主要介紹了Java將本地項目部署到Linux服務器的實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-06-06

最新評論