spring boot 学习笔记(二):项目属性配置

  创建一个spring boot + maven项目,附上我最终的项目目录结构:
spring boot 学习笔记(二):项目属性配置_第1张图片
一、application.properties文件
  在我们创建的项目中有一个默认的application.properties配置文件,在这个配置文件中我们可以修改项目一下配置:
修改启动端口及路径:

server.port=8081
server.context-path=/girl

  在这里我推荐另一种配置文件的方式进行配置,以application.yml文件进行配置,后面我也以application.yml方式为例,在application.yml文件中配置的格式为:

server:
  port: 8080
  context-path: /girl

这里需要注意一点的是,port后面必须要用空格,不然配置是错误的,在eclipse中不加空格前面的port显示为黑色,正确的情况下port应该显示为绿色(我使用的工具为eclipse,在IDEA也是一样,有颜色区别)。
正确情况:
这里写图片描述
错误情况(同时在eclipse中有错误提示):
这里写图片描述

二、自定义属性配置
   下面介绍一下自定义属性的使用:
1、首先在application.yml中增加cupSize,age属性
spring boot 学习笔记(二):项目属性配置_第2张图片
2、在controller文件使用增加的属性:
通过@Value注解方式使用:

package com.springboot.gril.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Value("${cupSize}")
    private String cupSize;

    @Value("${age}")
    private Integer age;

    @RequestMapping("hello")
    public String  say(){

        String text = "cupSize:" + cupSize + "; age:" + age;

        return text;
    }
}

启动验证:
spring boot 学习笔记(二):项目属性配置_第3张图片
   这里我们可以看到,我们并没有在配置文件中指定属性的数据类型,只需在java类中指定即可。

3、在配置文件中使用配置的属性:
   下面介绍一种在配置文件中使用其他属性的一种方式。
spring boot 学习笔记(二):项目属性配置_第4张图片
这里我们可以看到,使用content: “cupSize: cupSize===age: {age}”的方式,在content中引用cupSize和age。然后在controller通过前面说到的方式引用content,测试效果:
spring boot 学习笔记(二):项目属性配置_第5张图片

三、使用类的方式引用配置属性
   看到这,相信有不少的人觉得这种方式太繁琐,如果我有十个或者更多的属性,那岂不是在controller中要加对应个数的@Value注解,这显然太繁琐,所以我们就有了下面这种方式。
1、首先,修改application.yml配置文件:
spring boot 学习笔记(二):项目属性配置_第6张图片
类似于给cupSize和age增加了一个girl的头。
2、然后,我创建一个GirlProperties类,并在其中添加对应的属性,并添加get,set方法。

package com.springboot.gril;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {

    private String cupSize;

    private Integer age;

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

}

这里的@ConfigurationProperties(prefix = “girl”)注解将配置文件中girl中属性映射到该类中;
@Component注解不添加的话,在controller中引用会提示无法注入bean
spring boot 学习笔记(二):项目属性配置_第7张图片
3、在controller中@Autowired通过引用该类,启动项目,测试效果:
spring boot 学习笔记(二):项目属性配置_第8张图片

本篇文章是我在慕课网上学习spring boot是的笔记,如果觉得我写的不够清楚可以去慕课网上学习,视频地址:http://www.imooc.com/learn/767

你可能感兴趣的:(spring-boot)