springboot中读取自定义properties文件

一、在高版本的springboot中,@ConfigurationProperties(prefix = "wisely2",locations = "classpath:wisely.properties")这个注解不支持了,所以我们要另辟蹊径

 

二、使用组合式注解:

   1、自定义config.properties文件:

1 config.fileServer=/root/jzyp/staticserver/webapps/ROOT/server
2 config.staticServer=http://101.201.77.138:8080/server

   2、建立Testconfig类:

 

 1 package main.config;
 2 
 3 import org.springframework.boot.context.properties.ConfigurationProperties;
 4 import org.springframework.context.annotation.Configuration;
 5 import org.springframework.context.annotation.PropertySource;
 6 
 7 @Configuration  //保证该类会被扫描到
 8 @ConfigurationProperties(prefix = "config")   //读取前缀为 config 的内容
 9 @PropertySource("classpath:config.properties")  //定义了要读取的properties文件的位置
10 public class TestConfig {
11     public String fileServer;
12     public String staticServer;
13 
14     public String getFileServer() {
15         return fileServer;
16     }
17 
18     public void setFileServer(String fileServer) {
19         this.fileServer = fileServer;
20     }
21 
22     public String getStaticServer() {
23         return staticServer;
24     }
25 
26     public void setStaticServer(String staticServer) {
27         this.staticServer = staticServer;
28     }
29 
30 }

     3、建立测试类controller:

   

 1 @RestController
 2 public class RCacheDemoController {
 3     
 4     @Autowired
 5     TestConfig testConfig;
 6     @Autowired
 7     Test2Config test2Config;
 8     
 9     @GetMapping("/testConfig")
10     public String testConfig(){
11         System.out.println("fileServer:"+testConfig.getFileServer()+"/asdasd");
12         System.out.println("staticServer:"+testConfig.getStaticServer()+"/dasd");13         return "testConfig";
14         
15     }

   4、使用@ConfigurationProperties 注解 要在启动处加上@EnableConfigurationProperties(TestConfig.class):

   

1 @SpringBootApplication
2 @EnableConfigurationProperties(TestConfig.class)
3 public class Applicaiton {
4     
5 
6     public static void main(String[] args) {
7         SpringApplication.run(Applicaiton.class, args);
8     }
9 }

二、第二种就是使用@Value这个注解了,不多解释:

 

 1 package main.config;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.context.annotation.Configuration;
 5 import org.springframework.context.annotation.PropertySource;
 6 
 7 @Configuration
 8 @PropertySource("classpath:config.properties")
 9 public class Test2Config {
10     @Value("${config.fileServer}")
11     public String fileServer;
12     @Value("${config.staticServer}")
13     public String staticServer;
14 
15     public String getFileServer() {
16         return fileServer;
17     }
18 
19     public void setFileServer(String fileServer) {
20         this.fileServer = fileServer;
21     }
22 
23     public String getStaticServer() {
24         return staticServer;
25     }
26 
27     public void setStaticServer(String staticServer) {
28         this.staticServer = staticServer;
29     }
30 
31 }

  ps:和上面一样的测试方法,两种方法读取。

文章来自:http://www.cnblogs.com/wangyaobk/p/7472757.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3