springboot获取配置文件中的值

server/2024/11/26 14:20:21/

概括

在开发过程中,对于一些通用的配置,通常会定在一个配置文件中。通常为application.properties或者application.yml文件中。我们只需要在需要使用的地方通过注解直接获取即可。

使用

在springboot中可以通过使用@value注解来读取配置文件中的属性。注解的引用一定要是springframework提供的注解,不要引入错误。例如下面的代码

java">import org.springframework.beans.factory.annotation.Value;@Value("$server.port:")private  String port;

即可获取到配置文件中定义的server.port设置属性值了。方便我们开发中使用。

优化

因为有些时候可能需要很多属性值,每次都需要引入过于麻烦,所以可以通过定义个类来专门存放这些属性,再设置get方法来获取值。

这样就可以在只引入一次就可以获取到各个配置的信息。注意在设置类的时候,只提供get方法,不要提供set方法。这样可以保证数据的安全性。参考代码如下所示。

java">package com.easyjob.entity.appconfig;
import org.springframework.beans.factory.annotation.Value;public class Appconfig {@Value("server.port")private String port;@Value("project.folder")private String folder;@Value("spring.datasource.username")private String username;@Value("spring.datasource.password")private String password;public String getPort() {return port;}public String getFolder() {return folder;}public String getUsername() {return username;}public String getPassword() {return password;}
}

在需要使用的地方直接引入即可,如下所示:

java">@Resourceprivate Appconfig appconfig;public PaginationResultVO<Account> findListByPage(AccountQuery query) {String folder = appconfig.getFolder();Integer count = this.findCountByParam(query);Integer pageSize = query.getPageSize() == null ? PageSize.SIZE15.getSize() : query.getPageSize();SimplePage page = new SimplePage(query.getPageNo(), count, pageSize);query.setSimplePage(page);List<Account> list = this.findListByParam(query);PaginationResultVO result = new PaginationResultVO(count, page.getPageSize(), page.getPageNo(), page.getPageTotal(), list);return result;}

http://www.ppmy.cn/server/145082.html

相关文章

【Electron学习笔记(二)】基于Electron开发应用程序

基于Electron开发本地应用程序 基于Electron开发本地应用程序前言正文1、创建 pages 目录2、创建 index.html 文件3 、创建 html.css 文件4 、main.js里引入页面5 、运行 start 命令6 、启用开发者模式7 、解决内容安全策略8、完善窗口行为9、配置自动重启&#xff0c;保存后自…

Linux基础IO

文章目录 &#x1f34a;C 语言文件 IOC 语言文件操作接口什么是当前路径&#xff1f;默认打开的三个流 &#x1f34b;系统文件 I/Oopen参数返回值示例 close参数返回值示例 write参数返回值示例 read参数返回值示例 &#x1f34b;‍&#x1f7e9;文件描述符 fd&#x1f34c;文件…

软考高项论文:CMMI在企业过程改进中的应用与实践

摘要 随着信息技术的飞速发展和全球竞争的加剧,企业面临着提高产品质量、降低成本、提升效率等多重压力。为应对这些挑战,越来越多的企业开始引入各类过程改进模型,CMMI(能力成熟度模型集成)作为一种成熟的过程改进框架,逐渐得到广泛应用。本文通过对CMMI框架的深入分析…

k8s微服务架构就是云原生吗?两者是什么关系

k8s微服务架构就是云原生吗&#xff1f;K8s微服务架构并不等同于云原生&#xff0c;但两者之间存在密切的联系。Kubernetes在云原生架构中扮演着核心组件的角色&#xff0c;它简化了容器化应用程序的管理&#xff0c;提供了弹性、自动化和安全性&#xff0c;使开发者能够更轻松…

JVM(七、性能监控、故障处理工具)

Java与C之间有一堵由内存动态分配和垃圾回收技术所围成的高墙&#xff0c;墙外面的人想进去&#xff0c;墙里面的人却想出来。 Java内存管理和垃圾回收全部由虚拟机管理&#xff0c;一旦出现问题&#xff0c;我们需要一些工具去排查错误、修正问题。 1、基础故障处理工具 1.1&…

Vue 过滤器究竟是什么?应用场景与实例全展示

Vue中的过滤器概述 **Vue过滤器(Filters)**是Vue.js提供的一个功能,用于对数据进行格式化。它可以在模板插值和v-bind指令中使用,帮助开发者对数据进行展示前的处理。Vue过滤器常用于处理字符串格式、日期格式、货币格式等需求,尤其在模板中直接使用时,可以提高代码的可…

硬件基础22 反馈放大电路

目录 一、反馈的基本概念与分类 1、什么是反馈 2、直流反馈与交流反馈 3、正反馈与负反馈 4、串联反馈与并联反馈 5、电压反馈与电流反馈 二、负反馈四种组态 1、电压串联负反馈放大电路 2、电压并联负反馈放大电路 3、电流串联负反馈放大电路 4、电流并联负反馈放大…

【小白学机器学习33】 大数定律python的 pandas.Dataframe 和 pandas.Series基础内容

目录 0 总结 0.1pd.Dataframe有一个比较麻烦琐碎的地方&#xff0c;就是引号 和括号 0.2 pd.Dataframe关于括号的原则 0.3 分清楚几个数据类型和对应的方法的范围 0.4 几个数据结构的构造关系 list → np.array(list) → pd.Series(np.array)/pd.Dataframe 1 python 里…