亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在SpringBoot中讀取resource目錄下的properties文件

發布時間:2021-02-07 18:26:13 來源:億速云 閱讀:223 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關如何在SpringBoot中讀取resource目錄下的properties文件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

  • 配置文件為SpringBoot默認的application.properties文件中的自定義參數

  • 加載自定義properties文件中的自定義參數,比如xxx.properties的自定義參數

加載SpringBoot默認的application.properties

準備工作

server.port=8081

# 自定義參數->都是person.變量名的形式

person.id=1
person.name=szh

# list/set/數組->兩種寫法
person.hobby=play,read,write
person.family[0]=father
person.family[1]=mother

# map->兩種寫法
person.map.key1=value1
person.map[key2]=value2

# Entity對象->Pet實體類
person.pet.type=dog
person.pet.name=旺財
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;

@NoArgsConstructor
@AllArgsConstructor
@Data
public class Pet implements Serializable {
 private String type;
 private String name;
}

方式一 : @ConfigurationProperties

開發中如果獲取整個以xxx開頭的所有參數,那么推薦使用第一種方式,如果獲取單個參數,那么建議使用第二種獲取參數方式。

import com.szh.test.entity.Pet;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
@ConfigurationProperties(prefix = "person")
@Data
public class PersonConfig {
 private int id;
 private String name;
 private List hobby;
 private String[] family;
 private Map map;
 private Pet pet;

}

測試使用代碼:

@Autowired
 private PersonConfig personConfig;

 @RequestMapping("/hello1")
 public void hello1() {
 System.out.println(personConfig.getFamily());
 System.out.println(personConfig.getHobby());
 System.out.println(personConfig.getMap());
 System.out.println(personConfig.getId());
 System.out.println(personConfig.getName());
 System.out.println(personConfig.getPet().getName());
 }

方式二:@Value

@Value("${person.id}")
 private int id;
 @Value("${person.name}")
 private String name;
 @Value("${person.hobby}")
 private List hobby;
 @Value("${person.family}")
 private String[] family;
 @Value("${person.map}")
 private Map map;
 @Value("${person.pet}")
 private Pet pet;

方式三:使用Environment獲取

@Autowired
 private Environment env;

 @RequestMapping("/hello1")
 public void hello1() throws UnsupportedEncodingException {

 String id = env.getProperty("person.id");
 // 中文
 String name = new String(env.getProperty("person.name").getBytes("ISO-8859-1"), "UTF-8");
 List hobby = new ArrayList();
 hobby.add(env.getProperty("person.hobby[0]"));
 hobby.add(env.getProperty("person.hobby[1]"));
 String[] family;
 Map<String,String> map = new HashMap<String,String>();
 map.put("key1", env.getProperty("person.map.key1"));
 map.put("key2", env.getProperty("person.map.key2"));

 Pet pet = new Pet(env.getProperty("person.pet.type"),env.getProperty("person.pet.name"));
 }

加載自定義properties文件

準備工作:在resource/目錄下新建一個自定義配置文件szh.properties

person.id=1
person.name=szh

# list/set/數組->兩種寫法
person.hobby=play,read,write
person.family[0]=father
person.family[1]=mother

# map->兩種寫法
person.map.key1=value1
person.map[key2]=value2

# Entity對象
person.pet.type=dog
person.pet.name=旺財

方式一: @PropertySource+@ConfigurationProperties

@Component
@PropertySource(value = "classpath:szh.properties")
@ConfigurationProperties(prefix = "person")
@Data
public class PersonConfig {
 private int id;
 private String name;
 private List hobby;
 private String[] family;
 private Map map;
 private Pet pet;

}

方式二:@PropertySource+@Value

@Component
@PropertySource(value = "classpath:szh.properties")
@Data
public class PersonConfig {
 @Value("${person.id}")
 private int id;
 @Value("${person.name}")
 private String name;
 @Value("${person.hobby}")
 private List hobby;
 @Value("${person.family}")
 private String[] family;
 @Value("${person.map}")
 private Map map;
 @Value("${person.pet}")
 private Pet pet;

}

方式三:Properties加載

//讀取資源配置文件
 InputStream is = Bean.class.getClassLoader().getResourceAsStream("szh.properties");
 prop = new Properties();
 String className = "person.name";//可以作為一個函數的變量
 try {
  prop.load(is);
  String pathName = prop.getProperty(className);
 } catch (Exception e) {
  throw new RuntimeException("xxxx");
 }

關于如何在SpringBoot中讀取resource目錄下的properties文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南丹县| 兴仁县| 绩溪县| 夹江县| 余江县| 杭州市| 高密市| 彭泽县| 新宾| 连州市| 乌拉特中旗| 澄迈县| 漠河县| 宝鸡市| 南陵县| 阿克陶县| 合肥市| 冷水江市| 页游| 富裕县| 竹溪县| 兴义市| 广西| 宽城| 伽师县| 北辰区| 竹北市| 福州市| 陇南市| 武鸣县| 上杭县| 鄯善县| 永州市| 永嘉县| 若羌县| 枣阳市| 东乡族自治县| 麦盖提县| 莱芜市| 敖汉旗| 肇庆市|