springboot学习笔记(五)--springboot的配置文件

server:

port: 8082

2、注入配置文件

=======================================================================

yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值!

2.1、yaml注入配置文件


1、在springboot项目中的resources目录下新建一个文件 application.yml

2、编写一个实体类 Dog;

使用@Value主机给bean注入属性值

package com.study.pojo;

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

import lombok.ToString;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

/**

  • @Description :

  • @Date :2021/4/26 16:01

*/

@Data

@AllArgsConstructor

@NoArgsConstructor

@ToString

@Component//注入到bean容器中

public class Dog {

@Value(“旺财”)

private String name;

@Value(“3”)

private Integer age;

}

3、在SpringBoot的测试类下注入狗狗输出一下;

在这里插入图片描述

package com.study;

import com.study.pojo.Dog;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

class DemoApplicationTests {

@Autowired

private Dog dog;

@Test

void contextLoads() {

System.out.println(dog);

}

}

结果成功输出,@Value注入成功,

在这里插入图片描述

4、我们在编写一个复杂一点的实体类:Person 类

package com.study.pojo;

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

import lombok.ToString;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;

import java.util.Date;

import java.util.List;

import java.util.Map;

/**

  • @Description :

  • @Date :2021/4/26 16:04

*/

/*

@ConfigurationProperties的作用

将配置文件中配置的每一个属性的值,映射到组件中;

告苏springboot将本类中所有属性个配置文件中相关配置进行绑定

参数prefix=“person”,将配置文件中的person下面的所有属性一一对应

只有这个组件是容器里面的组件,才能使用容器提供的@ConfigurationProperties

*/

@Data

@AllArgsConstructor

@NoArgsConstructor

@ToString

@Component//注册bean

@ConfigurationProperties(prefix = “person”)

public class Person {

private String name;

private Integer age;

private Boolean happy;

private Date birth;

private Map<String,Object> maps;

private List lists;

private Dog dog;

}

5、我们来使用yaml配置的方式进行注入,大家写的时候注意区别和优势,我们编写一个yaml配置!

person:

name: hello

age: 3

happy: false

birth: 1021/4/26

maps: {k1: v2,k2: v2}

lists:

  • first

  • second

  • third

dog:

name: “旺财”

age: 5

6、IDEA 提示,springboot配置注解处理器没有找到,让我们看文档,我们可以查看文档,找到一个依赖!在这里插入图片描述

在这里插入图片描述

org.springframework.boot

spring-boot-configuration-processor

true

7、确认以上配置都OK之后,我们去测试类中测试一下:

@SpringBootTest

class DemoApplicationTests {

@Autowired

private Person person;

@Test

void contextLoads() {

System.out.println(person);

}

}

在这里插入图片描述

2.3、加载指定的配置文件


@PropertySource :加载指定的配置文件;

@configurationProperties:默认从全局配置文件中获取值;

1、我们去在resources目录下新建一个person.properties文件

name=张三

2、然后在我们的代码中指定加载person.properties文件

@PropertySource(value = “classpath:person.properties”)

@Component //注册bean

public class Person {

@Value(“${name}”)

private String name;

}

3、再次输出测试一下:指定配置文件绑定成功!

在这里插入图片描述

2.4、配置文件站位符


配置文件还可以编写占位符生成随机数

person:

name: qinjiang${random.uuid} # 随机uuid

age: ${random.int} # 随机int

happy: false

birth: 2000/01/01

maps: {k1: v1,k2: v2}

lists:

  • code

  • girl

  • music

dog:

name: ${person.hello:other}_旺财

age: 1

2.5、回顾properties配置


我们上面采用的yaml方法都是最简单的方式,开发中最常用的;也是springboot所推荐的!配置文件除了yml还有我们之前常用的properties 。

【注意】properties配置文件在写中文的时候,会有乱码 , 我们需要去IDEA中设置编码格式为UTF-8;

settings–>FileEncodings 中配置;

在这里插入图片描述properties形式文件测试步骤:

1、新建一个实体类User

@Component //注册bean

public class User {

private String name;

private int age;

private String sex;

}

2、编辑配置文件 user.properties

user1.name=kuangshen

user1.age=18

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

image

0)properties形式文件测试步骤:

1、新建一个实体类User

@Component //注册bean

public class User {

private String name;

private int age;

private String sex;

}

2、编辑配置文件 user.properties

user1.name=kuangshen

user1.age=18

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

[外链图片转存中…(img-15CQrGUY-1714462875870)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值