方式一: 注解赋值

构建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. msys2 mingw64安装

    (1)安装msys2 (2)更新\etc\pacman.d\下的源文件 mirrorlist.msys Server = http://repo.msys2.org/msys/$arch/ Serve ...

  2. 给Linux命令设置别名的几个步骤

    1.查看系统中的别名 alias 2.临时更改别名 alias rm='command not found.' 3.永久更改别名 vim /etc/profile ---> 最后一行添加 ali ...

  3. 深入理解Java虚拟机(第三版)-14. 线程安全与锁优化

    14. 线程安全与锁优化 1. 什么是线程安全? 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替进行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个 ...

  4. Python函数之面向过程编程

    一.解释 面向过程:核心是过程二字,过程即解决问题的步骤,基于面向过程去设计程序就像是在设计,流水线式的编程思想,在设计程序时,需要把整个流程设计出来, 一条工业流水线,是一种机械式的思维方式 二.优 ...

  5. 1+X Web前端开发(中级)理论考试样题(附答案)

    传送门 教育部:职业教育将启动"1+X"证书制度改革 职业教育改革1+X证书制度试点启动 1+X成绩/证书查询入口 一.单选题(每小题2分,共30小题,共 60 分) 1.在Boo ...

  6. MFC之使用blat发送邮件

    blat的下载地址:http://www.blat.net 我用它进行了smtp服务的邮件发送.这里我使用的qq邮箱,qq邮箱使用的密码是授权码,可以再qq邮箱设置里面开启smtp服务.下载下来是文件 ...

  7. Linux命令后面加 & 的作用

    在命令的后面加一个 & 的作用是,将这个任务放到后台执行.看下面的例子. 输入gedit回车,可以看到,打开了Linux的文本编辑器,但是命令窗口执行不了其他命令了,只有退出文本编辑器才能继续 ...

  8. 1089 Insert or Merge (25分)

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...

  9. 独立Web站点的快速部署

                                                                  独立Web站点的快速部署 1案例1:独立Web站点的快速部署 1.1问题 本 ...

  10. Nodejs开发微信公众号中控服务

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本项目旨在为多个微信公众号 ...