springboot配置文件
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、yaml是什么?
可以算是一种配置文件把 对标一下xml 在将来springboot的大范围流行 spring公司推荐的配置文件yaml就将成为主流的配置文件
我们使用这个文件能对springboot来进行一些配置 比如 我想要更改端口号
更改默认的服务器 我不想用tomcat了 我想要用其他的 都可以通过这个yaml文件来进行配置。
二、最重要的作用
在springboot里面 如果我需要对一个类进行注入 老方法是我用@Component 声明 然后再用注解来进行赋值 最后自动装配 这个类可以说就是被spring识别到了 直接使用就ok了
但是在springboot里面,我们可以使用yaml文件来进行注入 但是yaml文件对于格式十分的敏感 包括符号的使用 缩进等
yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值!
直接在yaml文件里面去写缩进的不同的层级就是表示 “的” 的含义
person:
name: liujiacheng
dog:
name: wangcai
age : 5
具体步骤
首先你需要有一个pojo类
package com.example.demo.pojo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
这个里要记得注册到spring里面去 用component
@ConfigurationProperties(prefix = "person")
这个 就是让我们的yaml文件和这个进行关联 找到前缀为person的yaml文件内容
这样就能实现注入
public class Person {
String name;
Dog dog;
public Person() {
}
public Person(String name, Dog dog) {
this.name = name;
this.dog = dog;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Dog getDog() {
return dog;
}
public void setDog(Dog dog) {
this.dog = dog; }
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", dog=" + dog +
'}';
}
}
运行结果
当然 这里是对于实体类来进行注入参数 我们同时也可以对配置类进行注入 不论用哪一种方式 只要能实现注入都是可以的。这里实际上实现的就是一个映射关系 将配置文件里面的内容进行映射 而这个@ConfigurationProperties(prefix = “person”)就是告诉spring找到位置
我们的springboot 还能用yaml来支持 jsr303 校验 虽然我也不知道 这个名字是个啥玩意
具体的是这样的
更多的jsr303 校验可以上百度里面看一下 实际上就是规范每一个类的值是什么样的格式 url还是email 还是null 都是可以规范的