Spring Boot 核心配置与注解01—— 全局配置文件

Spring Boot数据脱敏实战:基于Jackson注解日志拦截的隐私保护方案 数据脱敏是信息安全领域的一项基础技术,其核心原理是在保留数据业务价值的前提下,通过替换、屏蔽或变形等手段,对敏感信息进行保护,防止隐私泄露。这项技术的核心价值在于满足日益严格的合规性要求(如GDPR、个人信息保护法),同时降低企业数据泄露风险。在应用场景上,数据脱敏广泛用于接口响应、日志记录、数据导出等环节,确保敏感数据在系统内部流转时不会“裸奔”。本文聚焦于企业级Java开发中高频出现的隐私数据处理需求,通过Spring Boot生态的Jackson序列化机制日志框架拦截,实现了一套声明式、非侵入式的脱 阅读详情

spring boot 使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/main/resource目录或者类路径的/config,一般会选择resource目录。在这里插入图片描述
1.application.properties配置文件
使用Spring Initializr 方式构建Spring boot项目时,会在resource目录下自动生成一个空的application.properties文件,spring boot项目启动时会自动加载application.properties文件

例子
(1) 使用Spring Initializr 方式构建一个名为chapter02_blog的Spring boot项目,在Dependencies依赖选择中选择web依赖。
(2) 在chapter02_blog项目的com.example包下创建一个domain包,并在该包下创建两个实体类Pet和Person,以便查看application.properties配置文件属性配置的效果。

public class Pet {
    private String type;
    private String name;

    //省略属性getter方法和setter方法
    //省略tostring()方法
@Component //将person类作为Bean注入Spring容器中
@ConfigurationProperties(prefix = "person") //将配置文件中以person开头的属性注入该类中
public class Person {
    private int id;
    private String name;
    private List hobby;
    private String[] family;
    private Map map;
    private Pet pet;
    //省略属性getter方法和setter方法
    //省略tostring()方法

@ConfigurationProperties(prefix = “person”)注解的作用是将配置文件中以person开头的属性值通过setter方法注入实体类对应属性中。
@Component注解的作用是将当前属性值的Person类对象作为Bean组件放到Spring容器中,只有这样它才能被@ConfigurationProperties注解赋值。
(3) 在application.properties配置文件中编写需要对Person类设置的配置属性。

person.id=1
person.name=kkk
person.hobby=play,read,sleep
person.family=father,mother
person.map.k1=v1
person.map.k2=v2
person.pet.type=dog
person.pet.name=dahuang

在编写application.properties配置文件时,由于要配置的Person对象属性时自定义的,Spring boot无法自动识别,所以不会有任何书写提示。为了书写方便,可以在pom.xml中添加一个spring boot提供的配置处理器的依赖。

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

添加依赖后,还需要重新运行项目启动类重构当前spring boot项目方可生效。
(4) 在项目chapter02_blog的测试类Chapter02BlogApplicationTests中引入Person类Bean。若测试类没有public修饰,加上public。

    @Resource //将Person类作为Bean注入spring容器
    private Person person;
    @Test
    public void ContextLoads()
    {
        System.out.println(person);
    }

运行ContextLoads()方法,输出如下图所示:在这里插入图片描述
2.application.yaml配置文件
yaml文件格式时spring boot支持的一种JSON超集文件格式,相较于properties配置文件,yaml文件以数据为核心。
application.yaml文件使用“key: value”(冒号和value中间有一个空格)格式配置属性,使用缩进控制层级关系。
例子:
在resource目录下,新建一个application.yaml,在该配置文件中设置相应的属性值

person:
  id: 2
  name: "张三"
  hobby: [sing,read,sleep]
  family: [father.mother]
  map: {k1:v1,k2:v2}
  pet: {type:cat,name:jerry}

将application.properties中的配置注释掉(properties配置文件的优先级高于yaml配置文件),运行测试方法ContextLoads()输出如下图所示:
在这里插入图片描述
————————————————————————————————————————
参考教材—《Spring Boot企业级开发教程》

SpringBoot 4.x 第1节】夯爆了,为什么现在要学 Spring Boot 4.x?从零开始理解版本体系、核心变化真实项目开发路线(超详解)! 🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。 阅读详情

相关推荐

SpringBoot 系列教程(九十二):Spring Boot全局设置Jackson时间处理

一、前言 最近在做SpringBoot整合Memcached缓存时,遇到一个异常,前端传是一个JSON字符串,后端使用@RequestBody接收,写法是:@RequestBody OrderEntity orderEntity,其中OrderEntity 有个属性是Date类型的payDate,在前端JSON字符串中payDate转化为后端实体类中的属性时,报异常了,因为SpringBoot默认...

Thinkingcao的专栏 2247

springboot核心配置注解 0416

1、 application.properties配置文件2、 application.yaml配置文件3、 使用注解@ConfigurationProperties和@Value注入属性,两种注解对比分析5、 使用@Configuration编写自定义配置类6、 使用Profile文件进行多环境配置7、 使用@Profile注解进行多环境配置

m0_49286715的博客 373

计算pi小数点后10000位

数据结构课上,老师让我们计算一下pi的10000位,复习一下面向对象。 First Try:定义一个高精度类hp(high precision),实现加减乘除,输入输出,然后随便找一个公式,比如Wallis公式,全都用hp进行计算。 现实是:大数乘大数或者大数除大数,实在是太慢了。而且Wallis公式收敛太慢。 Second Try先找到一个收敛较快的公司:BBP公式,观察公式发现,...

我的技术人生 7369

05_SpringBoot_项目配置_掌握

一种是 bootstrap, 另外一种是 application(ServletContext), bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。①使用 SpringCloudConfig 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。如果同一个配置属性,在多个配置文件配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。--static静态资源。图片、js、css。

wei7a7a7a的博客 2409

Properties配置Person文件另一种获值方法、一些注解配置文件占位符

一、 Properties配置 person.last-name=海峰 person.age=21 person.birth=2000/05/03 person.boss=false person.maps.k1=v1 person.maps.k2=14 person.lists=a,b,c person.dog.name=${person.hello:hello}_dog person.dog.age=15 此处会出现一个bug,原因是文件乱码,IDEA使用UTF-8,propertie是使用ASCII

weixin_46029136的博客 407

Spring Boot入门+深入(二)-配置文件

一、快速创建Spring Boot项目 1、IDEA:使用 Spring Initializer快速创建项目 IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目; 选择我们需要的模块;向导会联网创建Spring Boot项目;https://start.spring.io/创建项目 默认生成的Spring Boot项目; 1.主程序已经生成好了,我们只需要我们自己的逻辑 2.resources文件夹中目录结构 static:保存所有的静态资源; ...

杀神lwz的博客 1309

Spring Boot核心配置注解

Spring Boot核心配置注解全局配置文件application.properties配置文件application.yaml配置文件配置文件属性值的注入使用@ConfigurationProperties注入属性使用@Value注入属性两种注解对比分析Spring Boot自定义配置使用@PropertySource加载配置文件使用@importResource加载XML配置文件使用@Configuration编写自定义配置全局配置文件 全局配置文件能够对一些默认配置值进行修改,Spring B

qq_50834939的博客 1907

Spring Boot(一)配置文件

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件。的application-{profile}.propertiesapplication.yml(带spring.profile)配置文件。的application-{profile}.propertiesapplication.yml(带spring.profile)配置文件。高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置

打工小王的博客 1000

【Java框架】SpringBoot(二)核心配置

SpringBoot核心配置,日志等

低调做人,低调编码,神码都是浮云 1510

六:Day01_Spring Boot01

Spring BootSpring公司的一个顶级项目,和Spring Framework是一个级别的。Spring Boot实际上是利用Spring Framework 4 自动配置特性完成。编写项目时不需要编写xml文件。Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。

qq_51318621的博客 440

Spring BootSpring Boot 入门、yaml 配置文件给属性赋值、自动装配原理详解

本篇文章为 Spring Boot 入门,编写并运行第一个 Spring Boot 程序,重点介绍 yaml 配置文件给属性赋值、Spring Boot 的自动装配原理等内容

taiyang3285的博客 1011

Nacos配置热更新实战:Spring Boot集成动态配置管理

动态配置管理是现代微服务架构中的核心能力,它允许应用在运行时动态获取和更新配置,而无需重启服务。其原理通常基于客户端长轮询或服务端推送机制,实现配置变更的实时监听同步。这项技术的核心价值在于提升系统的可维护性和可用性,避免了因配置变更导致的服务中断,尤其适用于需要频繁调整参数(如功能开关、限流阈值)的场景。在微服务生态中,Nacos作为主流的配置中心服务发现组件,其热更新功能正是这一理念的典型实践。本文将以Spring Boot项目为例,详细演示如何集成Nacos客户端,并验证配置变更如何实时生效,帮助

weixin_34174105的博客 411

Spring Boot】自动配置原理

pom.xml在父工程中的核心依赖 spring-boot-dependencies <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> &

夏木 515

Spring Boot】二、Spring Boot 配置

本文详细描述 Spring Boot配置文件 文章目录一、配置文件二、YAML语法1、基本语法2、YAML 支持的三种数据结构2.1、字面量2.2、对象(Map)2.2、数组(List、Set):3、配置文件值注入3.1、properties配置文件在idea中默认utf-8可能会乱码3.2、@Value获取值和@ConfigurationProperties获取值比较3.3、配置文件注入...

小天一直在路上 552

Spring Boot实战指南》02:Spring Boot核心配置

--

西安极客联盟 380

Spring boot 入门3-配置文件

1.配置文件 spring默认只用两种配置文件SpringBoot使用一个全局配置文件配置文件名是固定的; *application.properties *application.yml 配置文件的作用: 修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好; 有以下说法: YAML(YAML Ain’t Markup Language) YA...

sunshy_3104的博客 371

Spring boot项目基础面试题

springboot项目基础面试题(一) 1.springbootspring的区别. 引用自官方说法: java在集成spring等框架需要作出大量的配置,开发效率低,繁琐.所以官方提出 spring boot核心思想:习惯优于配置.可以快速创建开发基于spring框架的项目.或者支持可以不用或很少的spring配置即可. 2.springboot核心功能使用优点. 核心功能: 1.1...

weixin_41438466的博客 1088

Spring Boot 核心配置 YMAL ImportResource PropertySource

1 Spring Boot 配置文件 Spring Boot 使用一个全局配置文件,放置在 src/main/resources 目录或类路径的 /config 下; [ application.properties] [ application.yml] 配置文件的作用:修改 Spring Boot 自动配置的默认值 2 YAML语法格式 1. YAML基本语法 key: value 表示...

qq_41884378的博客 417

Spring Boot入门指南:快速构建Java Web应用

Spring Boot作为Java生态中的主流框架,通过约定优于配置的原则大幅简化了Spring应用的开发流程。其核心机制是自动配置,能够根据classpath依赖智能装配组件,开发者只需关注业务逻辑实现。技术实现上,Spring Boot整合了内嵌服务器、Starter依赖等模块,显著降低了从开发到部署的复杂度。在微服务架构和云原生场景中,Spring Boot因其轻量级特性和生产就绪功能(如健康检查、指标监控)成为首选框架。结合热词分析,本文特别详解了自动配置原理REST API开发实践,帮助开发者快

weixin_34323858的博客 501
下一篇: Spring Boot 核心配置与注解02——配置文件属性值的注入
oplisc
博客等级 码龄5年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值