您的位置:首页 > 编程语言 > Java开发

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

2017-09-18 16:40 766 查看
  创建一个spring boot + maven项目,附上我最终的项目目录结构:



一、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属性



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 {<
9f84
/span>

@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐