学习视频我看的是黑马的,如果觉得我的进度慢,可以自行去网站上看~ 这里我是想记录一下相当于笔记。如果遇到问题可以评论区留言,大家可以一起在评论区探讨~
SpringBoot配置
1.配置文件的分类(都是new File)
1)application.properties
2)application.yml
3)application.yaml
(同一级目录下优先级properties>yml>yaml)
图片里是new Spring Starter project自动建的一个空的配置文件,可以直接使用~
2.书写规范
1)properties:
server.port=8081
2)yml:
server:
port: 8081
注意:port和值之间有空格,我用& nbsp;展示了
YAML
YAML已数据为核心,文件扩展名为yml和yaml
样例代码:
server:
port: 8080
address: 127.0.0.1
基本语法
数据格式
获取数据
yml配置文件中的代码:
person:
name: hr
age: 20
address:
-beijing
-shanghai
三种方式
第一种 @Value
@Value("${person.age}")
private int age;
第二种 @ConfigurationProperties(prefix = “person”)
@Autowired
Persion per;
第三种 Environment
@Autowired
private Environment env;
Controller代码使用:
@RequestMapping("/hello")
public String hello() {
System.out.println(per);
for (String s : per.getAddress()) {
System.out.println(s);
}
System.out.println("-----------------");
System.out.println(env.getProperty("person.name"));
System.out.println("-----------------");
System.out.println(age);
return "hello Spring Boot HR";
}
刷新页面后控制台打印:
第二种方式的Bean的代码
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "person")
public class Persion {
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 "Persion [name=" + name + ", age=" + age + "]";
}
}
注意:属性名字要和yml一样,要不然不会注入。
profile
作用
用来完成不同环境下,配置动态切换功能的
配置方式
- propertie :
- yml — 分隔不同配置
激活方式
- 配置文件:spring.profiles.active=
- debug参数指令:选定profiles文件