SpringBoot属性配置实战(application.properties)

SpringBoot之application.properties的加载 SpringBoot中唯一的配置文件就是application.properties了,那这个配置文件是在什么时候被加载的,存储在什么地方,又是如何被使用的呢?下面从源码的角度来分析 1、application.properties的加载 springboot加载的配置文件是放在environment中的,在prepareEnvironment的时候,springboot读取和加载了applica... 阅读详情

Spring Boot不但继承了Spring的强大功能,还实现了快速开发的便捷。如何实现快速开发,亮点主要在配置上,如果没有特殊要求完全不需要任何配置,是不是很爽。

在Spring Boot使用过程中,能直观的感受到没了原来整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。

使用application.properties,一般情况下主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,还有哪些其他特性和使用方法?如下:
一般属性使用
自定义属性使用
属性间的引用(占位符)
随机数的使用
数据类型自动转换
嵌套属性注入

一般属性使用
应用的配置文件可以使用application.properties也可以使用application.yml
application.properties

spring.application.name=compute-service
server.port=80
server.tomcat.uri-encoding=GBK

application.yml

spring:
    application:
        name: compute-service
server:
    port: 80
server:
    tomcat:
        uri-encoding: GBK

以上属性一般都会被SpringBoot框架直接使用;
注意:使用.yml时,属性名的值和冒号中间必须有空格,如port: 80正确,port:80就是错的。

自定义属性使用
在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,如下方式直接定义:

com.test.name=Tom
com.test.password=123456

然后通过@Value(“${属性名}”)注解来加载对应的配置属性,具体如下:

public class MyProperties{
    @Value("${com.test.name}")
    private String name;
    @Value("${com.test.password}")
    private String password;
}

属性间的引用(占位符)

app.name=MyApp
app.description=${app.name} is a Spring Boot application
server.port=${port:8080}

可以在配置文件中引用前面配置过的属性(优先级前面配置过的这里都能用);
通过如${app.name:默认名称}方法还可以设置默认值,当找不到引用的属性时,会使用默认的属性,如当port属性不存在时会默认使用8080.

随机数的使用
在一些情况下,有些参数我们需要希望它不是一个固定的值,比如密钥、服务端口等。Spring Boot的属性配置文件中可以通过${random}来产生int值、long值或者string字符串,来支持属性的随机值。

# 随机字符串
com.test.value=${random.value}
# 随机int
com.test.number=${random.int}
# 随机long
com.test.bignumber=${random.long}
# 10以内的随机数
com.test.test1=${random.int(10)}
# 10-20的随机数
com.test.test2=${random.int[10,20]}

random.int*支持value参数和,max参数,当提供max参数的时候,value就是最小值。

数据类型自动转换
SpringBoot可以方便的将属性注入到一个配置对象中,并实现自动数据类型转换:

com.test.name=Isea533
com.test.port=8080
com.test.servers[0]=dev.bar.com
com.test.servers[1]=foo.bar.com

对应对象为:

@ConfigurationProperties(prefix="com.test")
public class Config {
    private String name;
    private Integer port;
    private List<String> servers = new ArrayList<String>();

    public String geName(){
        return this.name;
    }

    public Integer gePort(){
        return this.port;
    }
    public List<String> getServers() {
        return this.servers;
    }
}

上面的代码会自动将prefix=”com.test” 前缀为com.test 的属性注入进来,并会自动转换类型,当使用List 的时候需要注意在配置中对List 进行初始化!

嵌套属性注入
SpringBoot还支持嵌套属性注入:

name=Tom
jdbc.username=root
jdbc.password=root

对应的配置类:

@ConfigurationProperties
public class Config {
    private String name;
    private Jdbc jdbc;
    class Jdbc {
        private String username;
        private String password;
        //getter...
    }

    public Integer gePort(){
        return this.port;
    }
    public Jdbc getJdbc() {
        return this.jdbc;
    }
}

jdbc开头的属性都会注入到Jdbc对象中。

FPGA赋能:从加权灰度均值到快速收敛的自动曝光实战 本文深入探讨了FPGA在工业视觉自动曝光算法中的应用,重点介绍了加权灰度均值法的优化实现与快速收敛策略。通过硬件友好的算法改造和流水线架构设计,FPGA方案能在1帧内完成曝光调整,显著提升处理速度和能效比,适用于复杂光照条件下的工业检测场景。 阅读详情

相关推荐

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 986

Spring-Boot (二) application.properties配置文件内容

Spring-Boot官方开发指导文档 默认创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。 application.properties(或者application.yml)中包含系统属性、环境变量、命令参数这类信息。 下面简要说一部分spring-boot项目中a

t0m的专栏 7万+

Nginx的启动、停止与重启命令(非yum方式安装)图解版

目录一、Nginx启动二、Nginx停止的三种方式2.1、第一种方式(从容停止)2.2、第二种方式(快速停止)2.3、第三种方式(强制停止)三、Nginx重启3.1、首先,验证nginx配置文件是否正确3.1.1、验证nginx配置文件(方法一)3.1.1、验证nginx配置文件(方法二)3.2、最后,重启Nginx服务3.2.1、重启Nginx服务(方法一)3.2.2、重启Nginx服务(方法二) 一、Nginx启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 /usr/loc

小志的博客 6851

Spring Boot 配置文件

Spring Boot 的配置文件主要用于定义应用的各类参数,例如端口号、数据库连接、日志级别等。YAML 格式Properties 格式默认情况下,Spring Boot 会从项目的目录下加载或文件。Spring Boot 支持在配置文件中定义自定义属性,并通过@Value或注解读取。Spring Boot 配置文件为应用提供了强大的配置管理能力,从基本的键值对配置到复杂的多环境管理,几乎覆盖了所有配置场景。

Flying_Fish_roe的博客 1298

射频捷变收发器(RF Agile Transceiver) 国内外产品的现状、发展趋势及对比分析2

由于通信系统的研究、设计和实现的巨大进步,RF(射频)设备的新时代正在到来。特别是,随着通信、航空航天和防务以及高速仪器仪表、物联网(IoT)和协作传感器网络(CSN)的发展,以实现宽带高速通信,移动通信中频谱上不断增加的数据量要求而采用新颖的解决方案,以动态方式满足流量交换。然而,当前最先进的技术和设备需要一个合理的成熟时间来满足当前和即将到来的通信标准。

legendddh的博客 2604

飞塔防火墙CVE-2022-40684漏洞复现:手把手教你搭建靶场环境(附调试技巧)

本文详细指导如何搭建Fortinet飞塔防火墙CVE-2022-40684认证绕过漏洞的靶场环境,涵盖虚拟机部署、网络配置、调试模式开启及漏洞原理分析。通过手把手教程,读者可掌握漏洞复现与深度调试技巧,深入理解该认证绕过漏洞的利用与防御。

h6i7j8的博客 695

Spring Boot 菜鸟教程 application.properties 常用配置

SPRING CONFIG (ConfigFileApplicationListener) spring.config.name  配置文件名称,默认为application  spring.config.location  配置文件存放位置,默认为classpath目录下 mvc spring.mvc.async.request-timeout  设定async请求的超

xll_csdn的博客 1424

STM32 TIM3硬件XOR+复位模式实现霍尔信号精准捕获

霍尔传感器是电机控制系统中获取转子位置的关键器件,其三路数字信号需通过高精度、低延迟的边沿检测机制转换为电角度信息。其核心原理在于利用定时器输入XOR逻辑合并多路信号,并结合从模式复位(Reset Mode)实现硬件级时间间隔测量——每次跳变强制计数器清零,使CNT值直接表征换相周期。该方案规避了软件轮询的不确定性,显著提升FOC控制的实时性与鲁棒性。典型应用场景包括BLDC/FOC电机驱动、机器人关节伺服及工业变频器设计,尤其适用于STM32F4系列等具备硬件XOR与从模式控制器的MCU平台。

weixin_28931507的博客 91

application.properties详解 --springBoot配置文件

# spring boot application.properties配置的各个属性详解 # 该示例文件作为标准提供。(官方文档 翻译过来的) # 还是花了些功夫翻译,各位如果转发,请留下本文地址,谢谢 # 翻译过程中难免出现翻译错误的地方,如果有哪位大神发现有错误的地方,请您留言指正,感激不尽,共同进步。 # created  by lpf in 2017/10/19 # = = =

LPF的博客 3万+

【Android逆向工程】第18章:Ollvm 混淆与对抗

本章介绍了Ollvm混淆技术及其对抗方法。Ollvm是基于LLVM的开源代码混淆工具,主要实现控制流平坦化、虚假控制流和指令替换三种混淆技术。控制流平坦化通过状态变量和switch-case结构隐藏真实控制流,将原本清晰的逻辑拆分为多个状态块。混淆后的代码在静态分析中难以理解,但可通过动态追踪执行路径、符号执行等方法来还原原始逻辑。本章还提供了混淆代码示例和对抗策略,帮助理解Ollvm的工作原理及其防御方法。

w987333120的博客 213

Allegro172版本多人协同在线设计操作指导

首先用户需要在同一个局域网下,并且Allegro172的版本必须一致,比如都是S082的版本。另外一个用户同样打开相同版本的172,选择Symphony Team design。Allegro升级到172版本,可以支持多人协同设计,并且实时同步,具体操作如下。协同模式下,不能直接保存文件,需要另存版本,注意时常保存文件,以免丢失数据。第一个用户打开PCB,选择Symphony Team design。等待一会出现如下窗口,表示已经共享成功了,并且记下IP地址。出现一个窗口,输出开共享用户的IP地址。

weixin_54787054的博客 4952

SpringBoot application.properties 详解

springboot application.properties

u014365523的博客 8566

【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

简介QDM原理及其MATLAB代码实现

WW、forever的博客 5859

SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)

1 SpringBoot内部配置1.1、修改端口和应用上下文server.port=9090 server.context-path=/hellobootSpring Boot也可以使用yml进行配置,application.yml配置方式:server: port:9090 contextPath:/helloboot1.2、使用XML配置SpringBoot提倡零配置,即无xml配置

涂作权的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring Boot 属性配置你所不知道的细节

今天我们要聊的这个问题,可能工作5年的资深程序员也不一定搞得很清楚,但是我敢保证在开发 Web 应用过程中大家都遇到过。这个问题就是: Spring Boot 应用程序读取配置属性时,不同...

HollisChuang's Blog 548

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Springboot系列-理解application.properties和application.yaml

Springboot系列-理解application.properties和application.yaml 前言:学过或者使用过springboot框架的时候,大家会发现,springboot中的配置文件有两种方式,分别是.properties格式和.yaml格式,这两个都是配置文件,但是他们有什么不同呢? application.properties 1.位置问题 创建Spring Boot项...

Thinkao 的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SpringBoot 配置文件 application.yml(application.properties) 配置大全

参考网址:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 可以在application.properties文件内部application.yml,文件内部或命令行开关中指定各种属性。本附录提供了常见Spring Boot属性的列表以及对使用它们的基础...

真是6的不行的博客 8014

springboot中配置文件application.properties的理解

前言 Spring Boot使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。所以,我们要想把Spring Boot玩的溜,就要懂得如何开启各个功能模块的默认配置,这就需要了解Spring Boot的配置文件application.properties。 正文 Spring Boot使用了一个全局的配置文件appli...

Cool的博客 4581

第 12 节 属性配置之 application.properties 文件剖析

1 application.properties 文件与自动配置 ​ 在传统的基于 Spring 搭建的应用中,我们一般会使用一个 properties 类型的文件来存放应用的相关属性配置,其中 properties 文件的内容是由一个个键值对组成的,即 key=value,然后在使用了 @Configuration 注解的配置类使用 @PropertySource 注解引入该文件,如 @PropertySource(“classpath:app.properties”)。 ​ 而在基于 SpringBoo

源码之下,了无秘密 4479

SpringBoot配置文件 application.properties,yaml配置

SpringBoot配置文件 application.properties,yaml配置1.Spring Boot 的配置文件 application.properties1.1 位置问题1.2 文件名问题1.3 普通的属性注入1.4 类型安全的属性注入2.Spring Boot中的yaml配置简介2.1 数组注入 部分内容原文地址: 江南一点雨:是时候彻底搞清楚 Spring Boot 的配置...

爱是与世界平行 3048

【详细学习SpringBoot源码之属性配置文件加载原理(application.properties|application.yaml)-7】

【详细学习SpringBoot源码之属性配置文件加载原理】在创建SpringBoot项目的时候会在对应的application.properties或者application.yml文件中添加对应的属性信息,我们的问题是这些属性文件是什么时候被加载的?结合我们前面介绍的SpringBoot中的监听事件机制,我们首先看下SpringApplication.run()方法,在该方法中会针对SpringBoot项目启动的不同的阶段来发布对应的事件。如果自定义了就加载自定义的。

Coder_ljw的博客 2151

SpringBoot读取properties中的属性值

SpringBoot读取properties中的属性值 1.在application.properties中添加以下内容: learn.blog.name=hello learn.blog.title=千回教育系统 2.新增属性关联的类: package com.czhappy.learn.BootLearn.config; ...

陈正的博客 6210

SpringBoot:SpringBoot配置文件application.properties、application.yml 和 application.ymal(2)

本篇文章主要介绍SpringBoot相关配置文件,包括yaml/yml格式的书写规则、如何读取yaml/yml配置文件中的内容、多环境配置需求以及配置文件的分类。

qq_43751200的博客 5076
上一篇: SpringBoot 第一个项目
下一篇: SpringBoot属性配置实战(多种方式)
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值