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

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

(0)

相关推荐

  • SpringBoot使用Maven打包异常-引入外部jar的问题及解决方案

    由于项目需要,在需要打包的时候,由于引入的外部jar在本地是可以使用的,但是当打包后启动时报错,找不到对应的类. 使用 1.引入外部jar包 项目中简历文件夹lib 可以在resultces包下简历一个lib文件夹,将jar包扔进去: 在配置文件中引用 <dependency> <groupId>com.xx.xxx</groupId> //组织,随便命名 <artifactId>***</artifactId> //包的名字,随便命名 <

  • Idea+maven搭建SSH(struts2+hibernate5+spring5)环境的方法步骤

    最近要使用 SSH 来编写期末的考核任务,之前也在网上查阅了很久,也试出了很多的问题.也很感谢很多前辈们的总结,我也查到了很多用用的内容. 本次项目,我将以一个简单的登录案例实现 SSH 的项目整合,项目我会放到 Github 上面,需要的同学可以 clone 下来在本地跑一跑 项目地址:SSH 脚手架 一.项目环境搭建 使用 maven 搭建一个 Java Web 项目 1.1 配置 Spring 坐标依赖 引入 Spring 坐标依赖 <!-- spring-context --> <

  • Spring Boot maven框架搭建教程图解

    摘要:让Spring应用从配置到运行更加快速,演示DIY Spring Boot框架时,如何配置端口号,如何添加日志. Spring Boot 框架帮助开发者更容易地创建基于Spring的应用程序和服务,使得开发者能够快速地获得所需要的Spring功能.提供了非功能性的大型项目类特性,如(如内嵌服务器.安全.度量.健康检查.外部化配置),内部封装了tomcat的一些核心jar包,将发布封装了,因此不需要将项目(war包)发布到外部tomcat上. 可以在Spring Boot官网 https:/

  • Maven搭建springboot项目的方法步骤

    Maven搭建springboot项目 本文是基于Windows 10系统环境,使用Maven搭建springboot项目 Windows 10 apache-maven-3.6.0 IntelliJ IDEA 2018.3.4 x64 一.springboot项目搭建 (1) 新建目录 在某个可用目录下,新建一个文件夹,本文新建目录为 D:\demo\zs200 (2) 创建maven父工程zs200a-parent 填写项目maven坐标 填写项目名称和路径 (2) maven父工程zs20

  • Springboot的maven间接依赖的实现

    在项目中经常使用 maven 来管理项目,但是有时候对于 maven 的细节还是了解的不是很清楚,因此今天复习下. maven项目 首先开始建立一个最简单的 maven 项目,其配置如下图: 可以看到最上面一行是 xml 的文件描述符,然后再是 project,在这里引入 xsd 文件. XSD(XML Schemas Definition)XML Schema,描述了 xml 文档的结构,用于判断其是否符合 xml 的格式要求 然后下面就是 groupId,通常是公司的域名,artifactI

  • SpringBoot中maven项目打成war包部署在liunx服务器上的方法

    说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序.Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发

  • IDEA+Maven创建Spring项目的实现步骤

    这篇随笔搭建的工程是普通的Spring工程,用于学习Spring框架,如果要搭建SpringMVC工程,可以参考另一篇 第一步:在IDEA点击new -> project 左侧选择Maven,直接点击Next.第一次使用IDEA的朋友,顶部还要选择Project SDK路径,就是Java的安装路径. 这里随便填一下之后点击Next 选择项目存放路径,或者保持默认,点击Finish,来到工程页面之后,在项目文件夹上右键并选择Add Framework Support 在这个页面找一下Spring,

  • 详解SpringBoot获得Maven-pom中版本号和编译时间戳

    这篇文章首先介绍了在SpringBoot中如何获得项目的编译时间和版本号,并向外提供接口,然后介绍了介绍了新版maven获得时间戳时区错误的解决方案,最后介绍了把时间戳加到包名的两种方法. SpringBoot项目获得编译时间戳和版本号,然后提供接口大概分为以下步骤: 在pom文件中获取maven的编译时间戳 配置pom,用maven中的属性渲染资源文件application.yml 提供接口 Maven中获得编译时间 在 pom文件properties 中添加两个属性 <properties>

  • eclipse+maven+spring mvc项目基本搭建过程

    环境 操作系统 windows10 JDK jdk1.8.0_192 IDE Eclipse IDE for Enterprise Java Developers. Version: 2019-06 (4.12.0) Build id: 20190614-1200 目录结构 构建 1.配置settings.xml 创建一个settings.xml文件,复制下列代码到文件中 <?xml version="1.0" encoding="UTF-8"?> &l

  • Spring maven filtering使用方法详解

    SpringEL表达式取值一般是${var}方式取值, 见于application.properties和@Value("${var}")中 maven的pom.xml文件中也有类似的取值表达式, 也是通过${var}的方式取值 然而: 它们并不是一个东西! EL表达式适用于配置文件及代码中的注解 maven的占位符取值表达式默认仅仅适用于pom.xml文件中 我们的需求大多是想打通二者的交流,如何做? 此时filtering就派上用场了 maven的占位符解析表达式的使用场合默认只在

  • Spring Cloud Hystrix异常处理方法详解

    这篇文章主要介绍了Spring Cloud Hystrix异常处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在调用服务执行HsytrixCommand实现的run()方法抛出异常时,除HystrixBadRequestException之外,其他异常都会认为是Hystrix命令执行失败并触发服务降级处理逻辑. 异常处理 当Hystrix命令因为异常(除了HystrixBadRequestException异常)进入服务降级逻辑之后

  • Spring data elasticsearch使用方法详解

    这篇文章主要介绍了Spring data elasticsearch使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.准备 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> &l

  • Maven deploy配置方法详解

    作用 在本地的pom文件配置好之后,执行deploy命令,可以将maven所打的jar包上传到远程的repository,便于其他开发者和工程共享. pom.xml配置 首选,在pom文件中project标签下添加如下代码: <distributionManagement> <repository> <id>releases</id> <name>Internal Releases</name> <url>http://l

  • Spring MVC框架配置方法详解

    本文实例为大家分享了Spring MVC框架配置方法,供大家参考,具体内容如下 1.概述 Spring MVC 作用:用来实现前端浏览器与后面程序的交互 Spring MVC 是基于Spring 的MVC框架,所谓MVC(model,controller,view) ,整个Spring MVC 作用就是,基于Spring 将model(数据)在controller(后台程序) ,view(前端浏览器)之间交互 至于Spring MVC优点缺点,了解不深 不作评价, 2.引用的jar包 既然是基于

  • Spring jndi数据源配置方法详解

    本文实例为大家分享了Spring jndi数据源配置代码,供大家参考,具体内容如下 xml配置: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver

  • Spring JDBC的使用方法详解

    1.为什么使用Spring提供的JDBC的封装? 因为Spring提供了完整的模板类以及基类可以简化开发,我们只需写少量的代码即可. 2.实例讲解 第一步:导入依赖 mysql-connector spring-jdbc spring-tx spring-core spring-beans spring-context 等等 第二步:数据库的建立,配置xml 第三步:获取jdbcTemplate对象 可以这样获得 private JdbcTemplate jdbcTemplate; public

  • Spring Boot读取resources目录文件方法详解

    这篇文章主要介绍了Spring Boot读取resources目录文件方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在Java编码过程中,我们常常希望读取项目内的配置文件,按照Maven的习惯,这些文件一般放在项目的src/main/resources下,因此,合同协议PDF模板.Excel格式的统计报表等模板的存放位置是resources/template/test.pdf,下面提供两种读取方式,它们分别在windows和Linux

  • Spring利用注解整合Mybatis的方法详解

    目录 一.环境准备 步骤1:数据库相关 步骤2:导入jar包 步骤3:创建模型类 步骤4:创建Dao接口和实现类 步骤5:创建Service接口和实现类 步骤6:添加jdbc.properties文件 步骤7:添加Mybatis核心配置文件 步骤8:编写测试程序 二.整合思路分析 三.整合步骤 步骤1:导入整合jar包 步骤2:创建数据源配置类 步骤3:创建Mybatis配置类 步骤4:创建Spring主配置类 步骤5:编写运行程序 一.环境准备 步骤1:数据库相关 建库建表 创建spring_

  • Spring零基础到进阶之使用方法详解

    目录 一.Spring的创建和使用 1.创建一个Maven项目 2.添加Spring框架支持 3.添加启动类 二.存储Bean 1.添加配置文件(非第一次省略此步) 2.创建Bean对象 2.1.创建Bean对象 2.2.将Bean对象注入到Spring中 三.获取并使用 Bean 对象 1.先得到Spring上下文对象 2.再通过上下文提供的方法获取到Bean对象 3.使用Bean对象 今天介绍一下Spring的基本使用,为了更好的熟悉Spring,可以先看一下我前面的文章: Spring鸿蒙

随机推荐