转载自 Spring import配置文件使用占位符

import使用占位符

连接池切换导入配置的代码:

<import resource="classpath:META-INF/spring/spring-${db.connection.pool}.xml" />

在配置文件添加配置

db.connection.pool=druid

启动直接报错,读取不到配置,因为属性文件的加载在import配置文件之后。

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'db.connection.pool' in value "classpath:META-INF/spring/spring-${db.connection.pool}.xml"

所以,要在应用启动的时候添加属性

1、添加AppContextInitializer启动类:

public class AppContextInitializerimplements ApplicationContextInitializer<ConfigurableApplicationContext> {
    private Logger logger = Logger.getLogger(AppContextInitializer.class);

    @Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {ResourcePropertySource propertySource = null;try {propertySource = new ResourcePropertySource("classpath:config/db-config.properties");} catch (IOException e) {logger.error("加载配置文件[config/db-config.properties]失败");}applicationContext.getEnvironment().getPropertySources().addFirst(propertySource);}

}

2、在web.xml中添加配置:

context-param>  <param-name>contextInitializerClasses</param-name>  <param-value>com.example.AppContextInitializer</param-value>
</context-param>

启动配置文件加载正常。

Spring import配置文件使用占位符相关推荐

  1. Spring配置文件使用占位符配置

    Spring利用PropertyPlaceholderConfigurer占位符 1.Spring的框架中,org.springframework.beans.factory.config.Prope ...

  2. Spring boot 配置文件 使用占位符号

    配置文件占位符 1:使用随机数 ${random.value}.${random.int}.${random.long} ${random.int(10)}.${random.int[1024,655 ...

  3. 全面的Spring Boot配置文件详解

    全面的Spring Boot配置文件详解 Spring Boot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍.Spring Boot配置文件对Spring Boot来说就是入门 ...

  4. SpringBoot_配置-配置文件占位符

    配置文件的占位符,我们在配置文件中,在写某一个值的时候,第一种我们可以使用SpringBoot提供的随机数,我们想使用前面配置的值,我们可以使用占位符获取这个值,包括没有在前面配置的话,可以使用冒号来 ...

  5. kotlin build.gradle.kts配置,支持占位符替换文件中变量

    kotlin springboot工程kotlin_app kotlin_app/build.gradle.kts: import org.apache.tools.ant.filters.FixCr ...

  6. spring配置文件import标签中使用${}占位符获得配置文件的属性值

    2019独角兽企业重金招聘Python工程师标准>>> 一般情况下我们在Spring的配置文件中使用<import>标签是这样的,<import resource= ...

  7. SPRING多个占位符配置文件解析源码研究--转

    原文地址:http://www.cnphp6.com/archives/85639 Spring配置文件: <context:property-placeholder location=&quo ...

  8. Spring boot配置文件占位符

    配置文件占位符 占位符 获取配置文件中,之前配置的属性值 如果,没有这个属性 可以是用:指定默认值 配置方式 persion.id=${random.uuid} person.last-name=张三 ...

  9. spring占位符无法替换的报错排查

    开发环境 jdk:1.8 mybatis:3.4.5 spring:5.1.9 问题背景和报错信息 Springmvc的项目转成springboot的项目,该项目依赖了一些其他业务组的jar,比如de ...

最新文章

  1. 多维矩阵/数组变成一维数组
  2. 9号团队-团队任务4:每日立会(2018-12-3)
  3. Servlet中转发和重定向的路径问题以及表单提交路径问题
  4. 明天要上班了,假如上天再给我一个假期…
  5. webrtc收包流程源码分析
  6. js 中使用 时间datetime 类型到前端iOS 不兼容问题
  7. (51)多路时钟复用概述
  8. python语言源程序文件类型_浅谈Python的文件类型
  9. CMOS、BIOS介绍
  10. mysql 存储过程写入文件
  11. XML文件源码察看器(三)
  12. 2021-08-23
  13. Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法
  14. 职业体育与同性恋:假宽容与真偏见
  15. 微信支付消费者投诉消息推送接入企业微信群
  16. 【学习笔记】组合恒等式
  17. 作为程序员的硬实力是什么 ?
  18. java银行项目对于金额的面试题,华为java面试视频直播
  19. There is a problem with this Windows Installer package...的安装报错
  20. 深度学习系列之随机梯度下降(SGD)优化算法及可视化

热门文章

  1. [Redis6]NoSQL数据库简介_特点
  2. 10进制转换成其他进制-短除法
  3. hash table(开放寻址法-二次探查实现的哈希表)
  4. win7如何将计算机移至桌面,如何将win7电脑桌面的文件转移到其他盘中?
  5. python打印数组中期望元素的位置
  6. Gym - 100952H--H. Special Palindrome--dp整数划分(模板)
  7. BZOJ#3252. 攻略
  8. CF1526 D. Kill Anton
  9. P2579,jzoj2288-[ZJOI2005]沼泽鳄鱼【矩阵乘法】
  10. 和某ZYC巨佬和XXY巨佬的随机挑战2总结