Spring maven filtering使用方法详解

 更新时间:2020年09月09日 12:03:19   作者:一马平川1  
这篇文章主要介绍了Spring maven filtering使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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一起使用: 前者开启打通连接,后者指定打通的范围.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • RxJava的消息发送和线程切换实现原理

    RxJava的消息发送和线程切换实现原理

    这篇文章主要介绍了RxJava的消息发送和线程切换实现原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 浅谈Java中的重载,重写,多态,静态绑定、动态绑定

    浅谈Java中的重载,重写,多态,静态绑定、动态绑定

    这篇文章主要介绍了浅谈Java中的重载,重写,多态,静态绑定、动态绑定,具有一定借鉴价值
    2018-01-01
  • 解决nacos修改配置信息后需要重启服务才能生效的问题

    解决nacos修改配置信息后需要重启服务才能生效的问题

    当配置信息发生变动时,传统修改配置信息后,需要重新重启服务器才可以生效,大量应用配置修改时,需要一个个修改配置,无法统一修改,且没有办法回溯配置版本,所以本文给大家介绍了如何解决这些问题的方法,需要的朋友可以参考下
    2023-10-10
  • Java中的CurrentHashMap源码详解

    Java中的CurrentHashMap源码详解

    这篇文章主要介绍了Java中的CurrentHashMap源码详解,HashMap是数组+链表构成的,JDK1.8之后,加入了红黑树,HashMap默认数组初始化大小为16,如果瞎设置数字,它会自动调整成2的倍数,需要的朋友可以参考下
    2023-12-12
  • JAVA时间日期处理类实例

    JAVA时间日期处理类实例

    这篇文章主要介绍了JAVA时间日期处理类,可实现遍历两个日期之间的每一天的功能,涉及针对日期的常见操作技巧,需要的朋友可以参考下
    2015-04-04
  • 认证授权中解决AuthenticationManager无法注入问题

    认证授权中解决AuthenticationManager无法注入问题

    这篇文章主要介绍了认证授权中解决AuthenticationManager无法注入问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-10-10
  • 使用 Spring AI + Ollama 构建生成式 AI 应用的方法

    使用 Spring AI + Ollama 构建生成式 AI 应用的方法

    通过集成SpringBoot和Ollama,本文详细介绍了如何构建生成式AI应用,首先,介绍了AI大模型服务的两种实现方式,选择使用ollama进行部署,随后,通过SpringBoot+SpringAI来实现应用构建,本文为开发者提供了一个实用的指南,帮助他们快速入门生成式AI应用的开发
    2024-11-11
  • jfinal中stateless模式嵌入shiro验证的实现方式

    jfinal中stateless模式嵌入shiro验证的实现方式

    这篇文章主要介绍了jfinal中stateless模式嵌入shiro验证,今天,我们就来尝试一种通过拦截器来实现的Stateless Jfinal嵌入方式,需要的朋友可以参考下
    2022-06-06
  • springboot+RabbitMQ+InfluxDB+Grafara监控实践

    springboot+RabbitMQ+InfluxDB+Grafara监控实践

    这篇文章主要介绍了springboot+RabbitMQ+InfluxDB+Grafara监控实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • java面向对象的三大特性之一继承用法实例分析

    java面向对象的三大特性之一继承用法实例分析

    这篇文章主要介绍了java面向对象的三大特性之一继承用法,结合实例形式分析了java面向对象程序设计中继承的基本原理与具体使用方法,需要的朋友可以参考下
    2019-11-11

最新评论