SSM 项目因为需要加载多个properties配置文件,处理方式

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,倚天版 1GB 1个月
简介: SSM 项目因为需要加载多个properties配置文件,处理方式

最近在出些关于SSM环境搭建的教程,在我们搭建SSM架构,一般都无法避免需要加载多个xxxx.properties配置文件。

 

也许很多人不注意,就会出现类似以下的错误:


Could not resolve placeholder 'redis.maxIdle' in string value "${redis.maxIdle}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'redis.maxIdle' in string value "${redis.maxIdle}"


这种是什么情况,就是因为加载的配置文件项 读取不了值;


为什么读取不了值,因为spring扫描加载的时候只读取了一份xxxx.properties配置文件,所以在后面配置加载的xxxx.properties配置文件上面的值基本都拿不到了。


这种情况,需要这么设置:


情景: 现在我需要加载jdbc.properties配置文件和 redis.properties配置文件。


那么在配置加载jdbc.properties的时候,加上ignoreUnresolvablePlaceholders ,设置为true,如下:


 <!--数据库配置 -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath*:jdbc.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true" />
    </bean>


然后在配置加载  redis.properties的时候,也一样加上,如下:


    <!--引入Redis配置文件-->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath*:redis.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true" />
    </bean>


这样,就解决了加载多个配置文件的问题了。


PS:关于ignoreUnresolvablePlaceholders设置,其实如果你仅仅需要加载2份 properties配置文件,那么你第一份设置true,第二份设置false或者ture都可以。 直白点,你最后一份可以设置为false,但是我建议直接全部设置true。


其实如果你不想管那么多,把全部配置文件的项都放在一个config.properties里面也是可以的,不过我不推荐这样,这样不够优雅,我们编码需要优雅。


OK,到此。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6天前
|
Java 数据库连接 Maven
SSM框架整合图书管理项目
这篇文章是关于SSM框架整合到图书管理项目的详细教程,涵盖了从Maven项目构建、依赖导入、数据库连接、配置文件编写、实体类和接口实现到SpringMVC整合的完整步骤。
SSM框架整合图书管理项目
|
4天前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
13 1
WXM
|
26天前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
Eclipse运行SSM/SSH项目教程
WXM
20 0
|
2月前
|
Java 应用服务中间件 数据库
SSM使用IDEA整合视频及源码配置文件
SSM使用IDEA整合视频及源码配置文件
28 1
|
2月前
|
前端开发 Java
基于SSM框架的手机商城项目
基于SSM框架的手机商城项目
26 0
|
2月前
|
前端开发 JavaScript Java
杨校老师项目之基于SSM大学生创新创业项目管理系统
杨校老师项目之基于SSM大学生创新创业项目管理系统
44 0
|
2月前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM企业物流快递配送管理系统
杨校老师项目之基于SSM企业物流快递配送管理系统
34 0
|
2月前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
24 0
|
2月前
|
前端开发 JavaScript Java
计算机Java项目|SSM智能仓储系统
计算机Java项目|SSM智能仓储系统
|
4天前
|
SQL Java 应用服务中间件
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
这篇文章是关于如何使用SSM框架搭建图书商城管理系统的教程,包括完整过程介绍、常见问题解答和售后服务,提供了项目地址、运行环境配置、效果图展示以及运行代码的步骤。
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)