新建SpringBoot项目
基础开发,可勾选Lombok,Spring Configuration Processor和Spring Web
如果新建项目后,pom.xml中有以下配置,请将true改为false,该配置项在使用http://start.aliyun.com启动器URL时会生成,我们需要改掉默认值,改为false, 这样生成jar包才能运行,
如果建完项目后,配置文件默认的是application.properties, 我们需要改为application.yml的格式,yml的格式使用更广泛,功能性,语义化更强
改为application.yml后,里面的配置项需要改为yml的语法形式.
SpringBoot的配置文件
yml语法
- #后边是注释
- 换行后注意两个字符的缩进
- 配置项与值,冒号后要加一个空格
- 数组使用 - 来每段表示一个项
server:
port: 8080
# 这里是我自己的注释
student:
name: gengguolong
age: 24
aihao:
- 体育
- 篮球
- 唱歌
它对应到properties那种格式如何写:
server.port=8080
student,name=geng
student.age=22
(了解)配置文件可以使用三种,优先级为:
application.properties> application.yml>application.yaml
配置文件有两个作用:
- 使用既定好的配置,调整参数,改变默认配置项
- 我们可以自定义配置,后边在程序获取并使用
获取单个配置项
@Value注解可以解析获取配置文件每个值
比如application.yml中的配置项为:
server:
port: 8080
# 这里是我自己的配置项
student:
name: leoxuchao
age: 36
tel: 18000000000
aihao:- 打球- 看电影- 吃美
在程序中获取单个配置项:
@Controller
public class ConfigController {
// 获取name配置项
@Value("${student.name}")
private String name;
// 获取age配置项
@Value("${student.age}")
private int age;
// 获取tel配置项
@Value("${student.tel}")
private int tel;
// 获取aihao数组中第2个配置项
@Value("${student.aihao[1]}")
private String aihao;
}
// 第一种获取配置文件中的配置参数的方法,使用@Value注解获取
// @Value注解使用在成员属性上
@RequestMapping("/config/1")
public void getConfig1(){
System.out.println("获取到name了吗? name= " + name);
System.out.println("爱好是:" + aihao);
}
}
同时获取一批配置项
假如application.yml中有如下配置项
# 这里是我自己的配置项
student:
name: leoxuchao
age: 36
tel: 18000000000
aihao:- 打球- 看电影- 吃美
我们可以定义一个JavaBean整体获取所有和student相关的配置项:
- 定义一个JavaBean,用于后续存储各项配置项
public class Student {
private String name;
private int age;
private long tel;
private String[] aihao;
}
- 给这个JavaBean添加@Component注解,使其可以被Spring容器管理起来并实例化
@Component
public class Student {
private String name;
private int age;
private long tel;
private String[] aihao;
}
- 再添加@ConfigurationProperties注解,告诉Spring把Spring把配置文件中哪些配置项获取出来和Student这个JavaBean的属性一一对应,使用注解的prefix参数来指定
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
private String name;
private int age;
private long tel;
}
private String[] aihao;
}
@ConfigurationProperties(prefix=“student”)这样,框架就会把application.yml配置文件中的student配置段下面的所有属性一一对应到Student类中的属性上
- 要使用Student,获取里面的值们,需要在使用的地方"注入"Student,此时需要使用到@Autoware注解来注入
@Controller
public class ConfigController {
@Autowired
private Student student;
}
// 第二种方式,使用实体类来整体接收一段配置项
@RequestMapping("/config/2")
public void getConfig2() {
System.out.println("获取到配置项了吗?");
System.out.println(student);
}
}
SpringBoot中获取参数
在SpringBoot中获取参数基本方式有5种,需要都掌握.
这里需要记住一个技术术语或概念
API接口: 你写好的那个URL地址,就被称为API接口
{
System.out.println(“获取到配置项了吗?”);
System.out.println(student);
}
}
# SpringBoot中获取参数
在SpringBoot中获取参数基本方式有5种,需要都掌握.
这里需要记住一个技术术语或概念
API接口: 你写好的那个URL地址,就被称为API接口
##### 1. 获取普通参数