盱眙网站制作如何建造自己的网站
web/
2025/10/8 4:48:53/
文章来源:
盱眙网站制作,如何建造自己的网站,简单的手机网站模板下载安装,建筑施工安全员c证查询目录 Spring-Boot配置文件
注意#xff1a;
YAML简介
YAML基础语法
YAML:数据格式
YAML文件读取配置内容
逐个注入
批量注入
ConfigurationProperties 和value的区别 Spring-Boot配置文件
Spring-Boot中不用编写.xml文件#xff0c;但是spring-Boot中还是存在.prope…目录 Spring-Boot配置文件
注意
YAML简介
YAML基础语法
YAML:数据格式
YAML文件读取配置内容
逐个注入
批量注入
ConfigurationProperties 和value的区别 Spring-Boot配置文件
Spring-Boot中不用编写.xml文件但是spring-Boot中还是存在.properties文件同时还有.yml(.yaml)文件
application.properties 文件书写规则
person.name万某
application.yml(yaml) 文件书写规则
person:name: 万某
#不同层级之间要有缩进
#冒号后要有空格
注意
默认配置文件名称application
Spring-Boot中可以同时存在 三类文件优先级为properties yml yaml
YAML简介
YAML文件相对传统的.xml文件更能直观的展示数据序列化格式更加简洁。所以在Spring-Boot中一般使用.yml(.yaml)
YAML基础语法
大小写敏感数据值前边必须有空格作为分隔符使用缩进表示层级关系缩进时使用Tab键缩进的空格数目不重要只要相同层级的元素左侧对齐即可#表示注释从这个字符一直到行尾都会被解析器忽略。
YAML:数据格式
字面量普通值 [ 数字布尔值字符串]
boolean: TRUE #TRUE,true,True,FALSE,falseFalse均可
float: 3.14 #6.8523015e5 #支持科学计数法
int: 123 #0b1010_0111_0100_1010_1110 #支持二进制、八进制、十六进制
string: HelloWorld #字符串可以直接书写数组一组按次序排列的值 List、set
address:- beijing- shanghai# 一行内写法
commpany: [阿里巴巴,华为,腾讯,字节跳动]
对象、Map键值对
person:name: 万某# 行内写法
person: {name: wangzhuo}#对象数组格式一
users:- name: Tomage: 4- name: Jerryage: 5
#对象数组缩略格式
users2: [ { name:Tom,age:4 },{ name:Jerry,age:5 } ]
YAML:参数引用
name: 万某person:name: xuelaoshi pet: ${name} # 引用上边定义的name值name: xuls${random.uuid} # 配置文件占位符,随机uuidname: ${person.name}_帅
YAML文件读取配置内容
推荐两种方式
逐个注入
在Controller类下给属性分别以Value注解的方式分别赋值Value里的${yaml变量名}。
获取对象就对象.变量名。
获取数组就是使用索引的方式数组[0]在这里表示数组中的第一个值上海。
具体代码如下录后复制
package com.imust.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
public class HelloController {Value(${name})private String name;
// 获取对象Value(${person.name})private String person_name;Value(${person.age})private int person_age;// 获取数组Value(${address[0]})private String address1;Value(${address[1]})private String address2;RequestMapping(/hello)public String hello(){System.out.println(name);System.out.println(person_name);System.out.println(person_age);System.out.println(address1);System.out.println(address2);System.out.println();return Hello,Spring Boot!;}
}
批量注入
yml文件中写入要批量导入的数据 在person类中添加ConfigurationProperties注解和person2主名称一致 即可
ConfigurationProperties 和value的区别
用途和来源
Value主要用于从简单的属性文件中注入值如application.properties或application.yml而ConfigurationProperties则用于从带有嵌套属性的复杂配置文件中注入值。
类型安全性
Value不支持类型安全需要进行手动类型转换而ConfigurationProperties支持类型安全通过自动绑定和类型转换实现。
复杂性
Value适用于简单的属性注入场景而ConfigurationProperties适用于复杂的配置文件场景能够处理嵌套属性、列表、集合等。
自定义属性
Value不支持自定义属性而ConfigurationProperties支持自定义属性可以通过prefix、ignoreInvalidFields等参数进行配置。
松散绑定和SpEL支持
ConfigurationProperties支持松散绑定允许在配置文件中使用不同的命名约定如使用下划线、驼峰命名法等而Value不支持松散绑定。此外ConfigurationProperties不支持SpEL表达式而Value支持。
JSR303数据校验和复杂类型封装
ConfigurationProperties支持JSR303数据校验而Value不支持。同时ConfigurationProperties支持复杂类型的封装如map而Value不支持。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88878.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!