spring3x管理properties文件

博客提纲

一、背景说明

二、源码以及示例

 

 

一、背景说明

很多时候,我们需要将项目中使用到的配置信息,常量等写到properties文件里。然后用java加载该文件,在项目中使用礼貌的配置项以及相应的值。以前需要自己写文件的加载,解析,管理,等一系列的代码,但是自从有了Spring3X管理properties文件的新功能,(腿也不酸了,腰也不疼了,妈妈再也不用担心我的学习了)一切都是那么的优雅美好。。。

 

 

二、源码以及示例

其实也没啥好多说的,就是Spring的一个小功能的使用而已。废话不多说,直接上代码。

(1)biz.properties文件的内容如下:

#store html2pdf,pdf2tif file dir
TIF_TEMP_BASE_DIR=/home/q/www/faxImages/send

#qimage tif url  
IMAGE_UPLOAD_URI=http://localhost/XXXX

#qimage,host
QIMAGE_DOWNLOAD_HOST =http:/baidu.com/

 

(2)Spring加载properties的配置如下:

   

 <context:property-placeholder location="classpath:biz.properties"/>
   

 

(3)java代码如下:

@Component
public class BizPropertiesBean {

    private static final Logger logger = LoggerFactory.getLogger(BizPropertiesBean.class);

    /** 存储传真上传的时候html转pdf,pdf转tif文件的临时文件目录 */
    @Value("${TIF_TEMP_BASE_DIR}")
    private String tifTempBaseDir;

    /** qimage的tif文件上传url */
    @Value("${IMAGE_UPLOAD_URI}")
    private String iMageUpLoadUri;

    /** qimage的host */
    @Value("${QIMAGE_DOWNLOAD_HOST}")
    private String qImageDownLoadHost;

    public String getTifTempBaseDir() {
        if (StringUtils.isBlank(tifTempBaseDir)) {
            logger.warn("加载TIF_TEMP_BASE_DIR出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return tifTempBaseDir;
    }

    public String getIMageUpLoadUri() {

        if (StringUtils.isBlank(iMageUpLoadUri)) {
            logger.warn("加载IMAGE_UPLOAD_URI出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return iMageUpLoadUri;
    }

    public String getQImageDownLoadHost() {

        if (StringUtils.isBlank(qImageDownLoadHost)) {
            logger.warn("加载QIMAGE_DOWNLOAD_HOST出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return qImageDownLoadHost;
    }

    public void setTifTempBaseDir(String tifTempBaseDir) {

        if (StringUtils.isBlank(tifTempBaseDir)) {
            logger.warn("加载TIF_TEMP_BASE_DIR出错.");
            throw new RuntimeException("加载TIF_TEMP_BASE_DIR出错");
        }

        this.tifTempBaseDir = tifTempBaseDir;
    }

    public void setiMageUpLoadUri(String iMageUpLoadUri) {

        if (StringUtils.isBlank(iMageUpLoadUri)) {
            logger.warn("加载IMAGE_UPLOAD_URI出错.");
            throw new RuntimeException("加载IMAGE_UPLOAD_URI出错");
        }

        this.iMageUpLoadUri = iMageUpLoadUri;
    }

    public void setqImageDownLoadHost(String qImageDownLoadHost) {

        if (StringUtils.isBlank(qImageDownLoadHost)) {
            logger.warn("加载QIMAGE_DOWNLOAD_HOST出错.");
            throw new RuntimeException("加载QIMAGE_DOWNLOAD_HOST出错");
        }

        this.qImageDownLoadHost = qImageDownLoadHost;
    }
}

 

   其实Spring管理properties文件还有另外几种方式,就不一一列举了。有兴趣的可以自行查看Spring官方文档说明。

 

 

 

 

 

Spring案例:数据源对象管理及加载properties文件 spring中DruidDataSource和ComboPooledDataSource的资源配置管理,及加载properties文件方式 阅读详情

相关推荐

Java实现Properties文件读取与配置管理详解

在Java应用开发中,配置管理是实现灵活部署与环境适配的关键环节。Properties文件作为一种轻量级、结构清晰的配置格式,被广泛应用于存储数据库连接信息、应用参数、环境变量等关键配置内容。其以键值对(Key-Value Pair)形式组织数据,具有良好的可读性和易维护性。Java标准库中提供了类,用于加载、读取和写入Properties文件,使得开发者能够方便地进行配置管理。此外,结合等机制,Properties文件可以在本地文件系统、资源路径或网络中被加载,适用于多种部署场景。

weixin_32747681的博客 667

统一管理properties

在系统中有多个properties时,可以用下面的方面。统一引用

li20040723的专栏 502

Unity 多线程编程笔记 _Task详解

士大夫

weixin_43405845的博客 4384

java学习笔记6 - 使用commons configuration管理配置文件

Commons Configuration是一个java应用程序的配置管理类库。可以从properties或者xml文件中加载软件的配置信息,用来构建支撑软件运 行的基础环境。在一些配置文件较多较的复杂的情况下,使用该配置工具比较可以简化配置文件的解析和管理。也提高了开发效率和软件的可维护性。 官方主页:http://commons.apache.org/configuration/ 它目前支

技术总结与分享 2万+

Python声音识别实战:从音频处理到智能分类

本文详细介绍了使用Python进行声音识别的完整实战流程。从音频预处理、特征提取(如MFCC)到构建分类模型(SVM、CNN),并最终实现一个实时环境音分类器。文章以Python为核心工具,结合librosa等库,为开发者提供了从理论到实践的清晰路径,适用于智能家居、工业监测等多种应用场景。

weixin_29064009的博客 324

AI订单流异常检测:精准识别与闭环处置

本文系统阐述了订单流AI驱动的可视化与异常解释系统的构建策略。核心包括:1)多维度融合的异常检测技术,结合数据指纹、行为图谱和时序分析实现精准识别;2)分级分类与自动化处置机制,通过规则矩阵和风险熵值量化进行智能决策;3)基于SHAP/LIME的可解释性技术,提升决策透明度;4)千万级数据训练要求,确保模型达到87%以上的F1值。系统采用Flink+PAI实时计算架构,支持从异常检测到根因分析的完整闭环,为电商、金融等领域的订单风险管理提供智能化解决方案。

2401_83000568的博客 1360

Spring的PropertyPlaceholderConfigurer应用与集成项目properties文件管理

PropertyPlaceholderConfigurer类就是bean factory post-processor的一种,它的作用是一个资源属性的配置器,能够将BeanFactory的里定义的内容放在一个以.propertis后缀的文件中。因此我们可以继承该类,实现自己定制的properties文件管理。 1、数据库的配置文件jdbc.properties存放数据库账号,密码及地址信息。这些

宁灬夏的专栏 608

MCSDK5.4.8电机库双电阻采样适配:从扇区判断到固定采样的重构实践

本文详细解析了MCSDK5.4.8电机库中双电阻采样技术的重构实践,从扇区判断到固定采样的关键步骤。通过硬件配置优化、核心文件重构及电流读取函数改造,实现高效稳定的电机控制,特别适用于成本敏感型项目。文章还提供了占空比限制计算、参数调整及常见问题排查等实用技巧,助力工程师快速掌握两电阻采样方法。

weixin_42532938的博客 279

java类读取properties文件中常量

笔者今天使用cookie时候,需要设置cookie的momain,path等参数时候,我不想java类中写死,于是就想怎么才能在配置文件中定义一个常量,然后我在java类中去读取呢,从而做到最大灵活。开发环境Spring3.X,借助工具就可以实现分离。 一:.properties文件 blue.properties #psm cookie配置文件 psm.cookiedomain

骚年时光的专栏 3364

通达信主力检测利器

主力轨迹:100*EMA(EMA(MTM,N1),N1)/EMA(EMA(ABS(MTM),N1),N1),COLORWHITE;主力拉高:IF(VAR51<REF(VAR51,1),VAR51,0),COLORYELLOW,NODRAW;洗盘:IF(VAR5<REF(VAR5,1),VAR5,0),COLOR000079,NODRAW;主力进场:IF(VAR5>REF(VAR5,1),VAR5,0),COLORRED,NODRAW;MAZL:MA(主力轨迹,N2),COLORYELLOW;

zhibiaogong的博客 7454

从零构建简历智能匹配系统:AI技术助力高效招聘

本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。

理论都是虚的,代码才是王道。 309

JAVA中spring常用语法,Spring框架入门

技术分析之什么是Spring框架1. Spring框架的概述* Spring是一个开源框架* Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。* 它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构...

weixin_36244175的博客 314

软考中级网络工程师通关指南:从学习到实战

本文是软考中级网络工程师备考实用指南,先介绍备考前准备,包括考试时间、形式、分值等基本信息,及引导读者评估自身基础以制定学习计划;再推荐官方教材、辅导书籍、在线课程平台和学习社区等优质资源。随后梳理网络协议、设备配置、安全、规划设计等重点知识,剖析企业网络故障排查与园区网络设计典型案例。还分享真题使用、解题技巧、错题本建立等习题解答方法,给出分阶段备考、时间安排与总结反思的备考计划,最后提供考场答题顺序、检查及心态调整策略,助力考生高效备考、顺利通关。

邓邓子的博客 1852

spring boot整合 日志+AOP 练习

springboot整合日志 工具:idea2020 环境:jdk1.8,maven3.x,springboot,Lombok插件 开始整合吧~ 1.项目中resources文件夹下,编写log4j.properties文件 #log4j.rootLogger=CONSOLE,info,error,DEBUG log4j.rootLogger=info,error,CONSOLE,DEBUG log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

小白yi枚。的博客 259

Istio ICA考试之路---2-2

找到dr部分,这部分可以在mirroring里找也可以和题2-1一样在Traffic Management的dr里复制,内容都一样。此题之后都是在cluster-2上操作,所以就不需要再切换了.之后的几题2.1节就忽略掉了。可以看到,80%的流量被镜像到了dev上,实际考试这步可以忽略。看到ex-ip是192.168.126.220。获取gw,把gateways加入到vs配置中。获取istio-ingress的ex-ip。就获得了这样一个模板文件。查看2个pod的日志。

Q先生 853

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring Boot 配置指南:约定大于配置的应用

Spring Boot配置指南:约定大于配置的应用

m0_54158068的博客 475

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

从踩坑到填坑:Spring Boot升级Jasypt 3.x后启动报错?手把手教你排查‘Failed to bind properties’问题

本文详细解析了Spring Boot项目升级Jasypt 3.x后出现的‘Failed to bind properties’报错问题,揭示了Jasypt 3.x默认加密算法的变更及其对JDK环境的要求。提供了降级版本、显式指定旧算法和满足新算法要求三种解决方案,并分享了加密密钥的安全管理最佳实践,帮助开发者高效解决配置加解密问题。

weixin_33713707的博客 624

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ssm+jsp计算机毕业设计地下停车场管理系统rnx74(程序+LW+源码+远程部署)

Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。SSM + mybatis + Maven + JSP 等等组成,B/S模式 + Maven管理等等。1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;其他版本理论上也可以。2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

诚诚Java程度源码 83

[附源码]java+ssm计算机毕业设计工资管理系统设计与实现83m77(源码+程序+数据库+部署)

Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。SSM + mybatis + Maven + JSP 等等组成,B/S模式 + Maven管理等等。1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;其他版本理论上也可以。2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

ass1014的博客 152

ssm+java计算机毕业设计基于web的校园购物网站设计01q3m(程序+lw+源码+远程部署)

Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。2. 前端:L ayui+css+javascript+jQuery+ElemenUI+highcharts。SSM + mybatis + Maven + JSP 等等组成,B/S模式 + Maven管理等等。2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

华信计算机毕设源码程序 309

【Spring篇】数据源对象管理&&加载properties文件

我们还将学习使用属性文件进行参数配置的标准实践,让连接信息可外置。只要少量的Spring配置,就可以实现轻松的数据库连接管理、属性值注入等功能。

小吉妙妙屋 1857

Spring MVC 项目中使用 @Value 注解读取 Properties 配置的完整指南

【摘要】本文解决了SpringMVC项目中@Value注解读取properties配置为null的问题。关键点包括:1)配置类需添加@Component注解并由Spring管理;2)在applicationContext.xml中配置组件扫描和属性文件加载;3)业务代码必须通过@Resource/@Autowired注入Bean而非直接new对象。测试通过但业务代码失败的原因是直接创建对象绕过了Spring依赖注入机制。文中还提供了处理注册表权限警告的方法(手动创建HKEY_LOCAL_MACHINE\So

ywl470812087的博客 12万+

走进Spring Boot 3.x时代(一)

作为技术人员必须紧跟技术市场,否则也不能走远。人们大都习惯生活在自己熟悉的安逸区,很少愿意主动寻找新挑战。目前后端技术栈中主流的语言依然是Java(这是Java程序员的福音),而Java作为服务器端使用最广泛的编程语言一直都没有停止更新。SpringBoot就是大多数Java程序员每天都会接触到的框架,不知道大家用得SpringBoot是否还是2.x版本呢?JDK还是8的版本呢?Tomcat还是8的版本呢?本文下面将说一说Spring Boot的版本情况以及SpringBoot新版本带来的新特性。

刘一说的IT专栏 2108

spring中通过properties文件配置数据源

jdbc.properties文件: #driver= oracle.jdbc.driver.OracleDriver driver=com.mysql.jdbc.Driver #url=jdbc:oracle:thin:@127.0.0.1:1521:test url=jdbc:mysql://127.0.0.1:3306/test username=root password=12345

yh_zeng2的博客 1771

Spring Boot 3.x 多环境配置详解

Spring Boot 3.x 多环境配置详解

weixin_46619605的博客 2304
上一篇: XSS攻击与防范小结
下一篇: 基于Spring环境构建单元测试
liyebing
博客等级 码龄20年 32粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值