91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何在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

宁明县| 叙永县| 邵武市| 新乡市| 和平区| 申扎县| 岗巴县| 新丰县| 长乐市| 无棣县| 连南| 东乡县| 平谷区| 金塔县| 武夷山市| 苏尼特右旗| 嵊泗县| 鄂温| 新干县| 宝坻区| 义乌市| 伊川县| 高州市| 茶陵县| 巴中市| 嘉黎县| 察雅县| 天峻县| 平利县| 大新县| 蓬莱市| 额济纳旗| 尚义县| 昌平区| 康乐县| 白水县| 黄石市| 松原市| 黔西县| 贵溪市| 万州区|