Springboot Study 入门&配置
1.入门
构建了Springboot工程,创建springboot项目,完成了第一个项目helloworld
2.配置
2.1 配置分类:
properties>yml>yaml(优先级)
2.2 yaml
-
基本语法:大小写敏感,数值前要有空格,空格缩进表示层级关系
-
数据格式:
* 对象
* 数组 (使用“-”表示数组每个元素)
* 纯量
* 参数引用:$
name: abc
person:
name: zhangsan
age: 18
address:
- beijing
- shanghai
- hangzhou
msg1: "hello \n world"
msg2: 'hello \n world'
2.3如何读取配置文件内容
(1) @Value(${})
@Value("${name}")
private String name;
@Value("${person.name}")
private String name2;
@Value("${person.age}")
private String age;
@Value("${address[0]}")
private String address1;
@Value("${msg1}")
private String msg1;
(2) environment
@Autowired
private Environment environment;
System.out.println(environment.getProperty("name"));
System.out.println(environment.getProperty("person.name"));
System.out.println(environment.getProperty("person.age"));
for (int i = 0; i < 2; i++) {
System.out.println(environment.getProperty("address["+i+"]"));
}
(3) @ConfigurationProperties
新建一个Person类
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private int age;
private String[] address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String[] getAddress() {
return address;
}
public void setAddress(String[] address) {
this.address = address;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
注入:
@Autowired
private Person person;
调用
System.out.println(person.toString());
String address[]=person.getAddress();
for(String s:address){
System.out.println(s);
}
2.4 profile
不同环境下配置可能不同,profile功能就是来进行动态配置切换的
2.4.1 profile配置方式
(1)多profile文件方式
在主properties中:spring.profiles.active=dev
(2)yml多文档方式
spring:
profiles:
active: dev
---
spring:
config:
activate:
on-profile: dev
server:
port: 8081
---
spring:
config:
activate:
on-profile: pro
server:
port: 8082
---
spring:
config:
activate:
on-profile: test
server:
port: 8083
2.4.2 profile激活方式
(1)配置文件
在配置文件中配置:spring.profiles.active=dev
(2)虚拟机参数
在VMoption指定:-Dspring.profiles.active=dev
(3)命令行参数
java——jar xxx.jar --spring.profiles.active=dev
2.5 内部配置加载顺序
- file:./config/ :当前项目下的/config目录下
- file:./ :当前项目的根目录
- classpath:/config/:
classpath的/config目录
4.classpath:/ :classpath的根目录
2.6 外部配置加载顺序
看官网:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
标签:String,spring,Study,入门,private,name,address,age,Springboot From: https://www.cnblogs.com/jhhhred/p/18305692