在SpringBoot下读取自定义properties配置文件的方法
在SpringBoot下读取⾃定义properties配置⽂件的⽅法
SpringBoot⼯程默认读取application.properties配置⽂件。如果需要⾃定义properties⽂件,如何读取呢?
⼀、在resource中新建.properties⽂件
在resource⽬录下新建⼀个config⽂件夹,然后新建⼀个.properties⽂件放在该⽂件夹下。如图remote.properties所⽰⼆、编写配置⽂件
1
2
remote.uploadFilesUrl=/resource/files/
remote.uploadPicUrl=/resource/pic/
三、新建⼀个配置类RemoteProperties.java
1
2
3
4
5
6
7
8
9
@Configuration
@ConfigurationProperties(prefix = "remote", ignoreUnknownFields = false)
@PropertySource("classpath:config/remote.properties")
@Data
@Component
如何卸载public class RemoteProperties {
private String uploadFilesUrl;
private String uploadPicUrl;
}
其中
@Configuration 表明这是⼀个配置类 @ConfigurationProperties(prefix = "remote", ignoreUnknownFields = false) 该注解⽤于绑定属性。prefix⽤来选择属性的前缀,也就是在remote.properties⽂件中的“remote”,ignoreUnknownFields是⽤来告诉SpringBoot在有属性不能匹配到声明的域时抛出异常。
@PropertySource("classpath:config/remote.properties") 配置⽂件路径 @Data 这个是⼀个lombok注解,⽤于⽣成getter&setter⽅法,详情请查阅lombok相关资料 @Component 标识为Bean
四、如何使⽤?
在想要使⽤配置⽂件的⽅法所在类上表上注解EnableConfigurationProperties(RemoteProperties.class) 并⾃动注⼊
1
2
@Autowired
RemoteProperties remoteProperties;
在⽅法中使⽤ UploadFilesUrl()就可以拿到配置内容了。
1
2
3
4
5
6
7
8
9
10
11
@EnableConfigurationProperties(RemoteProperties.class)
@RestController
public class TestService{
@Autowired
RemoteProperties remoteProperties;
public void test(){
String str = UploadFilesUrl();
System.out.println(str);
}
经典日文歌曲}
这⾥str就是配置⽂件中的”/resource/files/”了。
PS:下⾯看下 Spring-boot中读取config配置⽂件的两种⽅式
了解过spring-Boot这个技术的,应该知道Spring-Boot的核⼼配置⽂件application.properties,当然也可以通过注解⾃定义配置⽂件的信息。
Spring-Boot读取配置⽂件的⽅式:
⼀.读取核⼼配置⽂件信息application.properties的内容
核⼼配置⽂件是指在resources根⽬录下的application.properties或l配置⽂件,读取这两个配置⽂件的⽅法有两种,都⽐较简单。
核⼼配置⽂件application.properties内容如下:
1
test.msg=Hello World SpringBoot
⽅式⼀:使⽤@Value⽅式(常⽤)
1
2
3
4
5
6
7
8
艺术设计专业9
10
11
12
13
ller;
import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController
public class WebController {
@Value("${test.msg}")
private String msg;
@RequestMapping("/index1")
public String index1(){
return "⽅式⼀:"+msg;
}
}
⽅式⼆:使⽤Environment⽅式
1
2
3
4
5
6
7
8
9
9
10
11
12
13
14
15
16
ller;
安以轩老公前妻import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import nv.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class WebController {
@Autowired
火炬之光怎么洗点private Environment env;
@RequestMapping("/index2")
public String index2(){
return "⽅式⼆:"+Property("test.msg");
}经典流行歌曲
}
⼆.读取⾃定义配置⽂件信息,例如:author.properties
为了不破坏核⼼⽂件的原⽣态,但⼜需要有⾃定义的配置信息存在,⼀般情况下会选择⾃定义配置⽂件来放这些⾃定义信息,这⾥在resources⽬录下创建配置⽂件author.properties
resources/author.properties内容如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。