SpringBoot读取配置文件

(1)添加pom依赖

1         <!-- 添加这个配置文件处理器,编写配置文件就有智能提示功能了-->
2         <dependency>
3             <groupId>org.springframework.boot</groupId>
4             <artifactId>spring-boot-configuration-processor</artifactId>
5             <optional>true</optional>
6         </dependency>

(2)编写配置文件

user.id=1
user.userName=fanqi
user.passWord=fanqi
user.enabled=1

(3)编写配置文件

 1 package cn.coreqi.entities;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.boot.context.properties.ConfigurationProperties;
 5 import org.springframework.context.annotation.PropertySource;
 6 import org.springframework.stereotype.Component;
 7 
 8 @Component
 9 @ConfigurationProperties(prefix = "user")
10 @PropertySource(value = {"classpath:user.properties"})  //加载指定的Properties配置文件(不支持yml文件)
11 public class User {
12     //@Value("${user.id}")
13     private Integer id;
14     //@Value("${user.userName}")
15     private String userName;
16     //@Value("${user.passWord}")
17     private String passWord;
18     //@Value("${user.enabled}")
19     private Integer enabled;
20 
21     public User() {
22     }
23 
24     public User(Integer id, String userName, String passWord, Integer enabled) {
25         this.id = id;
26         this.userName = userName;
27         this.passWord = passWord;
28         this.enabled = enabled;
29     }
30 
31     public Integer getId() {
32         return id;
33     }
34 
35     public void setId(Integer id) {
36         this.id = id;
37     }
38 
39     public String getUserName() {
40         return userName;
41     }
42 
43     public void setUserName(String userName) {
44         this.userName = userName;
45     }
46 
47     public String getPassWord() {
48         return passWord;
49     }
50 
51     public void setPassWord(String passWord) {
52         this.passWord = passWord;
53     }
54 
55     public Integer getEnabled() {
56         return enabled;
57     }
58 
59     public void setEnabled(Integer enabled) {
60         this.enabled = enabled;
61     }
62 
63     @Override
64     public String toString() {
65         return "User{" +
66                 "id=" + id +
67                 ", userName='" + userName + '\'' +
68                 ", passWord='" + passWord + '\'' +
69                 ", enabled=" + enabled +
70                 '}';
71     }
72 }

 

功能 @ConfigurationProperties @Value
松散绑定(类属性和配置文件中属性是否一致) 支持(驼峰式、下划式等切换) 不支持
Spring EL 表达式 不支持 支持
JSR303数据校验 支持 不支持
复杂类型(如Map等) 支持 不支持
使用场景 批量注入配置文件中的属性 单个指定

 

 

* Idea解决properties文件乱码问题

posted @ 2019-01-25 19:06  SpringCore  阅读(358)  评论(0编辑  收藏  举报