欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-25 20:16:07
...

  创建一个spring boot + maven项目,附上我最终的项目目录结构:
spring boot 学习笔记(二):项目属性配置
一、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也是一样,有颜色区别)。
正确情况:
spring boot 学习笔记(二):项目属性配置
错误情况(同时在eclipse中有错误提示):
spring boot 学习笔记(二):项目属性配置

二、自定义属性配置
   下面介绍一下自定义属性的使用:
1、首先在application.yml中增加cupSize,age属性
spring boot 学习笔记(二):项目属性配置
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 学习笔记(二):项目属性配置
   这里我们可以看到,我们并没有在配置文件中指定属性的数据类型,只需在java类中指定即可。

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

三、使用类的方式引用配置属性
   看到这,相信有不少的人觉得这种方式太繁琐,如果我有十个或者更多的属性,那岂不是在controller中要加对应个数的@Value注解,这显然太繁琐,所以我们就有了下面这种方式。
1、首先,修改application.yml配置文件:
spring boot 学习笔记(二):项目属性配置
类似于给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 学习笔记(二):项目属性配置
3、在controller中@Autowired通过引用该类,启动项目,测试效果:
spring boot 学习笔记(二):项目属性配置

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