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

配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;

比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!

server.port=8081

1.2、yaml基础语法


说明:语法要求严格!

1、空格不能省略

2、以缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。

3、属性和值的大小写都是十分敏感的。

举例:

1、字面量:普通的值【数字,布尔,字符串】

字面量直接卸载后面就可以,字符串默认不用加上双引号或者单引号

k: v

注意:

  • “ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;比如 :name: “ni \n hao” 输出 :ni换行 hao

  • “ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;比如 :name: “ni\n hao” 输出 :ni换行 hao

2、对象、Map(键值对)

#对象、Map格式

k:

v1:

v2:

在下一行来写对象的属性和值得关系,注意缩进;比如:

student:

name: nihao

age: 3

行内写法:

student: {name: qinjiang,age: 3}

3、数组(List、set)

用 - 值表示数组中的一个元素,比如:

pets:

  • cat

  • dog

  • pig

行内写法:

pets: [cat,dog,pig]

修改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:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

面试准备+复习分享:

为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦

秋招|美团java一面二面HR面面经,分享攒攒人品

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

56)]
[外链图片转存中…(img-k4vvXB3o-1712869955557)]
[外链图片转存中…(img-MqQ7zAo6-1712869955557)]
[外链图片转存中…(img-cDSR0aNL-1712869955557)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-KESnJnOR-1712869955557)]

面试准备+复习分享:

为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦

[外链图片转存中…(img-nPC8mT86-1712869955558)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-nLILHENg-1712869955558)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值