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

来源:互联网 发布:coreldraw x6软件下载 编辑:程序博客网 时间:2024/06/05 15:39

  创建一个spring boot + maven项目,附上我最终的项目目录结构:
这里写图片描述
一、application.properties文件
  在我们创建的项目中有一个默认的application.properties配置文件,在这个配置文件中我们可以修改项目一下配置:
修改启动端口及路径:

server.port=8081server.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属性
这里写图片描述
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;@RestControllerpublic 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;    }}

启动验证:
这里写图片描述
   这里我们可以看到,我们并没有在配置文件中指定属性的数据类型,只需在java类中指定即可。

3、在配置文件中使用配置的属性:
   下面介绍一种在配置文件中使用其他属性的一种方式。
这里写图片描述
这里我们可以看到,使用content: “cupSize: cupSize===age:{age}”的方式,在content中引用cupSize和age。然后在controller通过前面说到的方式引用content,测试效果:
这里写图片描述

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

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

原创粉丝点击