springboot yml怎么建常量_Springboot:属性常量赋值以及yml配置文件语法(四)

方式一: 注解赋值

构建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 maps;

private List 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这个注解会报红,添加依赖解决此问题:

报红依赖

org.springframework.boot

spring-boot-configuration-processor

true

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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值