Spring Boot 资源文件属性配置

Spring Boot 资源文件属性配置  

  配置文件是指在resources根目录下的application.propertiesapplication.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。

在pom.xml中添加:

 

1

2

3

4

5

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-configuration-processor</artifactId>

    <optional>true</optional>

</dependency>

 

一、资源文件属性配置直接读取

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/**

 * @author oyc

 * @Title:

 * @Description:

 * @date 2018/6/1321:44

 */

@RestController

@RequestMapping("/resource")

public class ResourceController {

 

    @Value("${com.bestoyc.opensource.name}")

    private String name;

 

    @Value("${com.bestoyc.opensource.webSite}")

    private String webSite;

 

    @Value("${com.bestoyc.opensource.language}")

    private String language;

 

    @RequestMapping("/getResource1")

    public String GetResource1() {

        return "Name:" + name + "----WebSite:" + webSite + "----Language:" + language;

    }

}

  注意:在@Value的${}中包含的是核心配置文件中的键名。在Controller类上加@RestController表示将此类中的所有视图都以JSON方式显示,类似于在视图方法上加@ResponseBody

二、资源文件中的属性配置映射到实体类中

  将配置属性映射到实体类中,然后再将实体类注入到Controller或者Service中即可完成属性配置的读取。

  属性配置文件(resource.properties):

1

2

3

com.bestoyc.opensource.name=bestoyc

com.bestoyc.opensource.website=www.bestoyc.com

com.bestoyc.opensource.language=java

    

  对应的实体类(Resource.java):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

/**

 * @author oyc

 * @Title:资源文件映射实体类

 * @Description:

 * @date 2018/6/13 21:32

 */

@Configuration

@ConfigurationProperties(prefix = "com.bestoyc.opensource")

@PropertySource(value = "classpath:resource.properties")

public class Resource {

    private String name;

    private String webSite;

    private String language;

 

  //省略getter、setter方法

}

注意:

  • @ConfigurationProperties注释中有两个属性:

    • locations:指定配置文件的所在位置
    • PropertySource:指定配置文件中键名称的前缀(我这里配置文件中所有键名都是以com.bestoyc.opensource开头)

    

  测试类(ResourceController.java):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

/**

 * @author oyc

 * @Title:

 * @Description:

 * @date 2018/6/1321:44

 */

@RestController

@RequestMapping("/resource")

public class ResourceController {

 

    @Autowired

    private Resource resource;

 

 

    @RequestMapping("/getResource")

    public String GetResource() {

        return "Name:" + resource.getName() + "----WebSite:" + resource.getWebSite() + "----Language:" + resource.getLanguage();

    }

}

  在SpringdemoApplication中加入@ComponentScan(basePackages= {"com.bestoyc"}),用于扫描我们的测试Controller包中的测试类方法:

   

访问:http://localhost:8080/resource/getResource 时将得到Name:java----WebSite:www.bestoyc.com----Language:java

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值