怎么在SPRINGBOOT中讀取PROPERTIES配置文件數據?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一.使用@ConfigurationProperties來讀取
1、Coffer entity
@Configuration
@ConfigurationProperties(prefix = "coffer")
@PropertySource("classpath:config/coffer.properties")
public class Coffer {
private String brand;
private Double length;
private Double width;
private Double height; //省略了get/set方法
private String[] contains;
private ArrayList<Fruit> fruits;
private HashMap<String,Object> map;
}2、Fruit entity
@Configuration
@ConfigurationProperties(prefix = "coffer.fruits")
@PropertySource("classpath:config/coffer.properties")
public class Fruit {
private String fruitName;
private String fruitColor; //省略了get/set方法
}3、coffer.properties
coffer.brand=Camel coffer.length=100.00 coffer.width=80.00 coffer.height=60.00 coffer.contains[0]=Raincoat coffer.contains[1]=trousers coffer.contains[2]=hat coffer.contains[3]=glove coffer.contains[4]=scarf coffer.contains[5]=hood coffer.fruits[0].fruitName=apricot coffer.fruits[0].fruitColor=yellow coffer.fruits[1].fruitName=plum coffer.fruits[1].fruitColor=green coffer.fruits[2].fruitName=pineapple coffer.fruits[2].fruitColor=yellow coffer.fruits[3].fruitName=watermelon coffer.fruits[3].fruitColor=green coffer.fruits[4].fruitName=strawberry coffer.fruits[4].fruitColor=red coffer.map.name=xiaomao coffer.map.age=22 coffer.map.gender=female
4、springbootApplicationTest
@SpringBootTest
class SpringbootApplicationTests {
@Autowired
private ApplicationContext ioc;
@Autowired
private Coffer coffer;
@Test
public void springbootTest(){
System.out.println(coffer);
}
}5、result
Coffer{
brand='Camel',
length=100.0,
width=80.0,
height=60.0,
contains=[Raincoat, trousers, hat, glove, scarf, hood],
fruits=[
Fruit{fruitName='apricot', fruitColor='yellow'},
Fruit{fruitName='plum', fruitColor='green'},
Fruit{fruitName='pineapple', fruitColor='yellow'},
Fruit{fruitName='watermelon', fruitColor='green'},
Fruit{fruitName='strawberry', fruitColor='red'}
],
map={age=22, gender=female, name=xiaomao}}二、使用@Value來讀取
在springTest中無法使用@Value來讀取配置屬性,需要放到Controller中去讀取
@PropertySource("classpath:config/coffer.properties")
@RestController
public class SpringbootController {
@Value("${coffer.brand}")
private String brand;
@Value("${coffer.height}")
private Double height;
@RequestMapping("/test")
public String springbootTest() {
return brand+"====="+height;
}
}springboot一種全新的編程規范,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程,SpringBoot也是一個服務于框架的框架,服務范圍是簡化配置文件。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。