方式一: 注解赋值

构建javaBean:com\springboot\vo\Dog

1:@Component:注册bean到spring容器中
2:添加get set toString方法
3:使用@Value(" ")注解进行属性赋值
package com.springboot.vo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; @Component//注册bean
public class Dog { @Value("旺财")
private String name;
@Value("3")
private Integer age; //添加get set toString方法
}

Springboot测试类测试:

@SpringBootTest
class HellospringbootApplicationTests { /*自动注入*/
@Autowired
private Dog dog; @Test
void contextLoads() {
/*打印信息*/
System.out.println(dog.toString());
}
}

打印结果:

Dog{name='旺财', age=3}

方式二: yml文件赋值

构建javaBean:com\springboot\vo\Person

1:@Component:注册bean到spring容器中
2:添加get set toString方法
3:使用@ConfigurationProperties(prefix = ""):通过application.yml自动注入对应的值
//注册bean
@Component
//通过application.yml文件赋值 属性和配置文件的key要一致
@ConfigurationProperties(prefix = "person")
public class Person { private String id;
private String name;
private Integer age;
private boolean isHappy;
private Date birthday;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog; //添加get set toString方法
}

编写appliation.yml文件

person:
id: ${random.uuid} #表达式获取uuid
name: 周星星
age: 22
isHappy: true
birthday: 1986/09/03
maps: {k1:v1,k2:v2}
lists:
- springboot
- java
- redis
dog:
name: ${person.name}_旺财 #表达式 获取name
age: 3

使用@ConfigurationProperties这个注解会报红,添加依赖解决此问题:

报红依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

Springboot测试类测试:

@SpringBootTest
class HellospringbootApplicationTests { /*自动注入*/
@Autowired
private Person person;
@Test
void contextLoads() {
System.out.println(person.toString());
}
}

打印结果:

Person{id=cb9d58a6-67c3-4782-885b-03c3dd7d3ef8, name='周星星', age=22, isHappy=false, birthday=Wed Sep 03 00:00:00 CDT 1986, maps={k1v1=, k2v2=}, lists=[springboot, java, redis], dog=Dog{name='周星星_旺财', age=3}}

yml语法:

值的写法:

1>字面量:普通的值(数字,字符串,布尔)
k: v:字面直接来写; 字符串默认不用加上单引号或者双引号; "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思 name: "zhangsan \n lisi":输出;zhangsan 换行 lisi '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi 2>对象、Map(属性和值)(键值对):
k: v:在下一行来写对象的属性和值的关系;注意缩进 对象还是k: v的方式 friends:
lastName: zhangsan
age: 20
行内写法: friends: {lastName: zhangsan,age: 18} 3>数组(List、Set):
用- 值表示数组中的一个元素
pets:
- cat
- dog
- pig
行内写法 pets: [cat,dog,pig]

Springboot:属性常量赋值以及yml配置文件语法(四)的更多相关文章

  1. springboot属性类自动加载配置文件中的值

    springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,p ...

  2. SpringBoot通过@Value获取application.yml配置文件的属性值

    application.yml实例: spring: redis: database: 0 host: 127.0.0.1 获取方法: /** * @Auther:WangZiBin * @Descr ...

  3. springboot配置文件之yml的语法学习

    springboot配置文件(.yml/.yaml.properties) YAML(YAML Ain't Markup Language) YAML A Markup Language:是一个标记语 ...

  4. SpringBoot 属性配置文件数据注入配置和yml与properties区别

    前言 我们知道SpringBoot 通过配置类来解放一堆的xml文件配置,通属性配置文件,来进行,系统全局属性配置,这样极大的简化了我们开发过程,java web 也可以甜甜的从此 快速配置 Spri ...

  5. SpringBoot中如何优雅的读取yml配置文件?

    YAML是一种简洁的非标记语言,以数据为中心,使用空白.缩进.分行组织数据,从而使得表示更加简洁易读.本文介绍下YAML的语法和SpringBoot读取该类型配置文件的过程. 本文目录 一.YAML基 ...

  6. SpringBoot项目的parent依赖和配置文件*.properties、*.yml详解

    1.idea创建SpringBoot项目 idea创建SpringBoot项目应该对很多人来说已经是菜到不能到菜的操作了,但是对于初学者小白来说,还是要讲解一下的.打开idea,然后选择Spring ...

  7. SpringBoot yml文件语法

    SpringBoot提供了大量的默认配置,如果要修改默认配置,需要在配置文件中修改. SpringBoot默认会加载resource下的配置文件: application*.yml applicati ...

  8. Springboot2(二)通过微信熟悉熟悉Spring-boot yml配置文件

    前言:Spring-boot的yml配置文件,这里就不在借助人.狗介绍了,试试套下微信! 创建yml文件 值得注意的是下图中有三种命名方法,前两种是对的,且第二种必须是横线而不是下划线! yml文件的 ...

  9. 【SpringBoot】12.全局配置文件(properties)与yml配置文件

    一.SpringBoot全局配置文件 1.修改内嵌容器端口号 #application.properties server.port=8888 2.自定义属性的配置 使用@Value来给成员变量赋值 ...

随机推荐

  1. coding++:对List中每个对象元素按时间顺序排序

    需求: 需要对List中的每个User按照birthday顺序排序,时间由小到大排列. package com.tree.ztree_demo.orderby; import java.text.Si ...

  2. 30款Django 常用的软件包

    30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...

  3. JavaScript数组的基本操作

    数组的创建方式: 方式一:构造函数构建数组 var arr = new Array ( ); 如果传入的参数为一个数字,代表数组的长度,不包含内容 // 可以传入字符串和数字,用逗号隔开,作为数组中的 ...

  4. 四、【Docker笔记】Docker容器

    容器是Docker的另一个核心概念,容器就是镜像的一个运行实例,只是它具有一个可写的文件层,而镜像是一个只读的文件. 一.创建容器 1.新建容器 我们可以使用 docker create 命令来创建一 ...

  5. VUE开发之异常篇

    1.WebStorm 编译器报错: Unresolved function or method require() 解决办法:   打开WebStorm 按照以下路径寻找 Preferences -& ...

  6. 徒手生撸一个验证框架,API 参数校验不再怕!

    你们之中大概率早已练就了代码的拷贝.粘贴,无敌的码农神功,其实做久了业务功能开发,练就这两个无敌神功,那是迟早的事儿.今天先抛一个小问题,来打通你的任督二脉,就是很好奇的问一下:业务功能开发中,输入参 ...

  7. PTA数据结构与算法题目集(中文) 7-31

    PTA数据结构与算法题目集(中文)  7-31 7-31 笛卡尔树 (25 分)   笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有 ...

  8. js之ES6的Class类

    JavaScript ES6之前的还没有Class类的概念,生成实例对象的传统方法是通过构造函数. 例如: function Mold(a,b){ this.a=a; this.b=b; } Mold ...

  9. Shell:Day02.笔记

    重定向和管道符:1.重定向 程序 = 指令 + 数据        命令   变量  在程序中,数据如何输入?有如何输出?  数据输入:键盘 -- 标准输入,但是并不是唯一输入方式:    --std ...

  10. DG磁盘分区提示错误

    文章更新于:2020-02-26 一.当你使用 DG 分区遇到错误时 1.错误复现 2.解决办法 以管理员身份打开cmd 运行 chkdsk /f /x g:(这里的 g 替换成你要检查的盘符) 然后 ...