码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot入门系列三(资源文件属性配置)

时间:2018-06-13 23:27:18      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:rip   配置   ali   实体   autowire   yml   扫描   映射   pac   

  Spring Boot 资源文件属性配置  

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

在pom.xml中添加:

 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

 

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

/**
 * @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):

com.bestoyc.opensource.name=bestoyc
com.bestoyc.opensource.website=www.bestoyc.com
com.bestoyc.opensource.language=java

    技术分享图片

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

/**
 * @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):

/**
 * @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

   技术分享图片

 

Spring Boot入门系列三(资源文件属性配置)

标签:rip   配置   ali   实体   autowire   yml   扫描   映射   pac   

原文地址:https://www.cnblogs.com/oycyqr/p/9180559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!