传媒公司网站制作,wordpress错误,响应式营销网站,如何做网站实现收入稳定yaml配置注入
yaml基础语法
说明#xff1a;语法要求严格#xff01;
1、空格不能省略
2、以缩进来控制层级关系#xff0c;只要是左边对齐的一列数据都是同一个层级的。
3、属性和值的大小写都是十分敏感的。 yaml注入配置文件
1、在springboot项目中的resources目录… yaml配置注入
yaml基础语法
说明语法要求严格
1、空格不能省略
2、以缩进来控制层级关系只要是左边对齐的一列数据都是同一个层级的。
3、属性和值的大小写都是十分敏感的。 yaml注入配置文件
1、在springboot项目中的resources目录下新建一个文件 application.yml
2、编写一个实体类 Dog
3、思考我们原来是如何给bean注入属性值的Value给狗狗类测试一下 Component //注册bean
public class Dog {Value(阿黄)private String name;Value(18)private Integer age;
}
4、在SpringBoot的测试类下注入狗狗输出一下 SpringBootTest
class DemoApplicationTests {Autowired //将狗狗自动注入进来Dog dog;Testpublic void contextLoads() {System.out.println(dog); //打印看下狗狗对象}}
5、我们在编写一个复杂一点的实体类Person 类
6、我们来使用yaml配置的方式进行注入大家写的时候注意区别和优势我们编写一个yaml配置 person:name: qinjiangage: 3happy: falsebirth: 2000/01/01maps: {k1: v1,k2: v2}lists:- code- girl- musicdog:name: 旺财age: 1
7、我们刚才已经把person这个对象的所有值都写好了我们现在来注入到我们的类中
ConfigurationProperties(prefix person) /*
ConfigurationProperties作用
将配置文件中配置的每一个属性的值映射到这个组件中
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix “person” : 将配置文件中的person下面的所有属性一一对应
*/
Component //注册bean
ConfigurationProperties(prefix person)
public class Person {private String name;private Integer age;private Boolean happy;private Date birth;private MapString,Object maps;private ListObject lists;private Dog dog;
}
8、IDEA 提示springboot配置注解处理器没有找到让我们看文档我们可以查看文档找到一个依赖
9、确认以上配置都OK之后我们去测试类中测试一下 加载指定的配置文件
PropertySource 加载指定的配置文件
configurationProperties默认从全局配置文件中获取值 1、我们去在resources目录下新建一个person.properties文件
namekuangshen
2、然后在我们的代码中指定加载person.properties文件 PropertySource(value classpath:person.properties)
Component //注册bean
public class Person {Value(${name})private String name;......
}
回顾properties配置
我们上面采用的yaml方法都是最简单的方式开发中最常用的也是springboot所推荐的那我们来唠唠其他的实现方式道理都是相同的写还是那样写配置文件除了yml还有我们之前常用的properties 我们没有讲我们来唠唠
【注意】properties配置文件在写中文的时候会有乱码 我们需要去IDEA中设置编码格式为UTF-8
settings--FileEncodings 中配置 对比小结
Value这个使用起来并不友好我们需要为每个属性单独注解赋值比较麻烦 1、ConfigurationProperties只需要写一次即可 Value则需要每个字段都添加
2、松散绑定这个什么意思呢? 比如我的yml中写的last-name这个和lastName是一样的 - 后面跟着的字母默认是大写的。这就是松散绑定。可以测试一下
3、JSR303数据校验 这个就是我们可以在字段是增加一层过滤器验证 可以保证数据的合法性
4、复杂类型封装yml中可以封装对象 使用value就不支持
结论
配置yml和配置properties都可以获取到值 强烈推荐 yml
如果我们在某个业务中只需要获取配置文件中的某个值可以使用一下 value
如果说我们专门编写了一个JavaBean来和配置文件进行一一映射就直接configurationProperties不要犹豫