1. 程式人生 > >spring學習筆記(5)屬性檔案引入使用

spring學習筆記(5)屬性檔案引入使用

外部檔案引用

在配置資料庫引數或郵箱伺服器引數等靜態資源時,相對於直接將資訊寫入Spring的.xml,.java等配置檔案中,更好的做法是將配置資訊分類獨立地存放到外部屬性檔案中,然後在Spring配置檔案中引入使用。這種做法的好處是:
1. 提高配置資訊的資源的複用性,可以供多個應用共享,同時若資源資料發生變化時,我們可以直接修改屬性檔案,即可使更改對多個應用生效。
2. 應用部署人員不用在複雜的spring資訊配置檔案中到處查詢資訊的修改位置,減少出錯的機率。
3. 如果這些資訊分佈在java類環境中,我們還需要在原始檔中修改後重新編譯部署

properties檔案

我們常常將這些配置資訊存放在.properties檔案中。properties檔案以鍵值對的形式儲存檔案資訊,每句結尾不用分號,註釋行用#標記。
在java中。JDK 內建的java.util.Properties 類為我們操作.properties 檔案提供了便利。它的常用方法有:

方法 說明
getProperty(String key) 用指定的鍵在此屬性列表中搜索屬性。也就是通過引數key ,得到key 所對應的value 。
load(InputStream inStream) 從輸入流中讀取屬性列表(鍵和元素對)。通過對指定的檔案(比如說上面的 test.properties 檔案)進行裝載來獲取該檔案中的所有鍵- 值對。以供getProperty(String key)來搜尋。
setProperty(String key,String value) 呼叫Hashtable的方法put。他通過呼叫基類的put方法來設值鍵- 值對。
store(OutputStream out,String comments) 以適合使用load方法載入到Properties表中的格式,將此Properties表中的屬性列表(鍵和元素對)寫入輸出流。與load 方法相反,該方法將鍵- 值對寫入到指定的檔案中去。
clear() 清除所有裝載的鍵 - 值對。該方法在基類中提供。

spring訪問屬性檔案

1. 基於xml等檔案引用屬性

  1. 使用spring提供的PropertyPlaceholderConfigurer。配置例項如下:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
    >
    <property name="location"> <value>/WEB-INF/jabc.properties</value> </property> <property name="fileEncoding" value="utf-8" /> </bean>

    如果我們的jdbc.perperties檔案中含有內容user=zeng,則我們可以通過${user}(=zeng)來獲取。

  2. 使用spring <context />內建標籤來讀取檔案

    <context:property-placeholder location="WEB-INF.jdbc.properties" file-encoding="utf8/>

2. 基於java類註解配置來引用檔案

比如配置資料來源,我們可以定義如下類,通過標籤來獲取屬性檔案裡面的資訊:

    package test;

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

    @Component
    public class dataSource {
        @Value("${driverCLasssName}")
        private String driverClassName;
        @Value("${url}")
        private String url;
        @Value("${database}")
        private String database;
        @Value("${user}")
        private String user;
        @Value("${password}")
        private String password;
    }

相關推薦

spring學習筆記(5)屬性檔案引入使用

外部檔案引用 在配置資料庫引數或郵箱伺服器引數等靜態資源時,相對於直接將資訊寫入Spring的.xml,.java等配置檔案中,更好的做法是將配置資訊分類獨立地存放到外部屬性檔案中,然後在Spring配置檔案中引入使用。這種做法的好處是: 1. 提高配置資訊

mybatis學習筆記(5)-配置檔案SqlMapConfig

本文主要講解SqlMapConfig配置檔案 SqlMapConfig.xml中配置的內容和順序如下 properties(屬性)settings(全域性配置引數)typeAliases(類型別名)typeHandlers(型別處理器)objectFactory(物件工

mybatis學習筆記(5)-配置檔案

mybatis學習筆記(5)-SqlMapConfig 標籤: mybatis 本文主要講解SqlMapConfig配置檔案 SqlMapConfig.xml中配置的內容和順序如下 properties(屬性) settings(全域

Vue學習筆記二:檔案引入

公用方法、樣式處理1、公共樣式、共用rem檔案這型別的 直接在main.js中通過import的方式引入,如下:// 引入公共檔案 import './assets/css/reset.css' import './assets/js/useRem.js'2、共用方法,後期會

軟體安全學習筆記(5):FAT32檔案系統與資料恢復

一、FAT32檔案系統結構 1、引導扇區:描述分割槽大小、簇的大小、FAT表個數與大小、分割槽載入程式等。 2、FAT(檔案分配表)FAT1+FAT2:記錄資料儲存區每一個簇的使用情況,形成每個檔案的簇連結串列 3、資料儲存區: 儲存兩類資料:目錄項、檔案資料 二、幾個概

Java虛擬機器學習筆記(5)——類檔案結構

          上一篇介紹了JVM物件的記憶體分配和回收策略。這篇接著介紹Java的類檔案結構,這篇的內容可能會比較多,我儘量循序漸進的講。要學習class的檔案結構,先要大體對class檔案結構有哪些內容有一個整體把握。現在,看下面一張表。           上面

學習筆記 matlab .m檔案 - 5

matlab之前一直是在命令視窗輸入命令,對於一些複雜的事,每次一條一條輸入,實在不方便,而且可重複性不高, 但是matlab提供了檔案方式,解決的這個問題 matlab檔案是一個字尾名為.M的檔案 ,如果PC不顯示字尾名,可以設定顯示,具體方法請自行網上搜索。 matlab可以執

Spring 學習筆記(五)IOC之零註解配置(用註解代替applicationContext.xml配置檔案

有了這個東西開發方便很多,不用寫xml那些配置嘍。 package org.spring.exampleAOP; import org.springframework.context.annotation.ComponentScan; import org.springframework.co

Spring 學習筆記(三)IOC之XML方式配置 第二回Bean節點屬性的配置

<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X

Spring Cloud學習筆記5——天氣預報系統(4)為天氣預報製作

開發環境 JDK8+ Gradle4+ Redis 3.2.100 Apache HttpClient 4.5.3 Spring Boot Web Starter Spring Boot Data Redis Starter Spring Boot Quart

Spring入門學習(外部屬性檔案) 第七節

Spring入門學習 第七節 外部屬性檔案 匯入連線資料庫相應的jar包 建立Spring配置檔案 外部屬性檔案 匯入連線資料庫相應的jar包 新增相應的包<!-- https://mvnrep

【Linux學習筆記】獲取檔案屬性 — stat()、fstat()、lstat()小結

相關文章 Linux是基於檔案的作業系統,一切皆檔案。下面就詳細的整理一下關於Linux檔案屬性的內容。 一、檔案屬性函式 系統提供了3個獲取檔案屬性的函式,分別是:stat()、fstat()、lstat()。 1、函式原型   標頭檔案包含:

spring 學習筆記 引入通知

建立引入引入是為需要方法的類新增屬性和方法。可以用一個已存在的類讓他實現另外的介面,維持另外的狀態(這也叫混合)。引入能夠動態的建立複合物件,提供了多型繼承的好處。 class AuditableIntroductionInterceptor extends Delegat

spring學習筆記(21)程式設計式事務配置,service層概念引入

訪問資料庫事務匯入 public <E> E add(Object object) { return (E) getSessionFactory().openSession().save(object); } 通過直接開啟sess

Spring學習筆記 在XML配置檔案中使用properties檔案的鍵值

property檔案可以很方便的在部署執行階段改變一些特定配置屬性,比如資料庫連線等。然後在程式中根據鍵名使用property檔案中的特定屬性。在Spring中也可以在XML配置檔案中的Bean定義時通過property檔案動態進行屬性值的定義。 使用方法描述 假如入

Spring學習筆記(一)配置檔案的使用

emmmmmm……如何搭建springboot專案,已經超級簡單了,這裡就不記錄下來了 application配置檔案使用 專案預設使用的是 application.properties ,但是

hibernate學習筆記5---實體類或屬性名與資料庫關鍵字衝突、hql命名引數、hql實現通用分頁

一、實體類或屬性名與資料庫關鍵字衝突問題 1、實體類名與資料庫中的關鍵字衝突 比如:實體表User與oracle中的系統表衝突 解決方式1:在xml中新增table屬性,指定表名,使其不與name預設相等 <?xml version="1.0" encoding="

Spring學習筆記】4:三種做屬性連線的Annotation,指示初始化和銷燬方法的Annotation

屬性連線 屬性連線是指配置DI的方式,之前學了可以在<bean ...></bean>裡面使用<constructor-arg .../>和<property .../> 元素做屬性連線。 Spring裡還可以

Spring學習筆記(二)——註解建立物件和注入屬性

一、Bean相關的註解 與SpringBean相關的註解有以下四大類: @Component:標註一個普通的Spring Bean類 @Controller:標註一個控制器元件類 @Service:標註一個業務邏輯元件類 @Repository:標註一個D

Linux學習筆記5-使用者身份與檔案許可權

使用者的身份與能力 UID(User IDentification) : 每個使用者都有對應的UID值,就像我們的身份證號碼 GID(Group IDentification):可將多個使用者加入某個組中,方便指派任務或工作 使用者組名稱與GID儲存在/e