Spring maven filtering使用方法详解
作者:一马平川1 发布时间:2021-07-02 22:14:46
SpringEL表达式取值一般是${var}方式取值, 见于application.properties和@Value("${var}")中
maven的pom.xml文件中也有类似的取值表达式, 也是通过${var}的方式取值
然而: 它们并不是一个东西!
EL表达式适用于配置文件及代码中的注解
maven的占位符取值表达式默认仅仅适用于pom.xml文件中
我们的需求大多是想打通二者的交流,如何做?
此时filtering就派上用场了
maven的占位符解析表达式的使用场合默认只在pom文件范围内活动
如果想扩大它的活动范围,就必须指定需要扩大到哪些文件,然后指定filtering=true.然后maven的占位符解析表达式就可以用于它里面的表达式解析了.
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
=================================================================================================================
题外话:
如果你的项目继承了spring-boot-starter-parent,
如果想在application.properties中使用maven的占位符以获取maven的参数,此时就不能用${},
因为可能会与EL表达式冲突,
怎么办?
此时parent依赖将maven占位符表达式默认改为@var@的形式. 所以只能用@var@替代${var}
总结:
1. Spring EL表达式和MAVEN的占位符表达式长得一样,但两者默认进水不犯河水,不能再Spring的范围内取maven的参数
2. filtering的作用就是打通两者的连接, 让井水犯河水, 具体来说是让Spring的范围内能取到maven的参数
3. filtering的使用要配合resource一起使用: 前者开启打通连接,后者指定打通的范围.
来源:https://www.cnblogs.com/wangxuejian/p/13551292.html


猜你喜欢
- 前言ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素实现了
- c#数据绑定之将datatabel的data添加listView中,简要的通过代码应用了DataTable,DataTableColumns
- 一、前言 在学习了循环、分支、和函数之后,可以写一些简单的小游戏来给自己的编程之路增添一
- 本文实例讲述了C#实现求一组数据众数的方法。分享给大家供大家参考。具体如下:1.算法描述1)输入合法性检验(输入不能为空)2)制作数组副本,
- 注意:不同的JDK版本的扩容机制可能有差异实验环境:JDK1.8扩容机制:当向ArrayList中添加元素的时候,ArrayList如果要满
- 项目结构把源码 clone 下来 , 可以看到 retrofit 整体结构如下图 http包目录下就是一些http协议常用接口 , 比如 请
- Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Myba
- 本文实例讲述了Android编程之页面切换测试。分享给大家供大家参考。具体分析如下:一、软件平台:win7 + eclipse + sdk二
- 关于Function.identity()的使用简单介绍话不多说,直接上JDK源码:static Function identity() {
- package TestList;import java.util.ArrayList;import java.util.Iterator;
- Java获取控制台输入的方法在学习网络编程中,有需要从控制台输入数据,进行两个线程之间的通信,其中,涉及到了读取控制台输入的两种不同的操作,
- 上一篇介绍了Tesseract库的使用(OCR库Tesseract初探),文末提到了Tesseract是用c/c++开发的,也有C#的开源版
- 简介:Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司
- mybatis in foreach 双层嵌套需求:根据角色id,返回角色名称,入参是List<List> 类型的二维数组,需要
- 在搜索引擎的开发中,我们需要对Html进行解析。本文介绍C#解析HTML的两种方法。AD: 在搜索引擎的开发中,我们需要对网页的Html内容
- 抽象方法与虚方法的区别先说两者最大的区别:抽象方法是需要子类去实现的。虚方法是已经实现了的,可以被子类覆盖,也可以不覆盖,取决于需求。因为抽
- 1、什么是AOPAOP是Aspect Oriented Programming的缩写,意思是面向方面编程,AOP实际是GoF设计模式的延续。
- 实现HandlerInterceptor接口或者继承HandlerInterceptor的子类,比如Spring 已经提供的实现了Handl
- 前言此系统为博主大一上学期C语言课程设计的大作业,由于当时初步接触C语言,现在来看程序写的太烂了,简直不忍直视……但是还是想通过博客的形式记
- 前言请看下面几个问题Spring为什么不推荐使用@Autowired 注解?为什么推荐使用@Resource 代替&nb