springboot配置文件读取pom文件信息方式

 更新时间:2022年02月25日 15:11:51   作者:村口张大爷  
这篇文章主要介绍了springboot配置文件读取pom文件信息方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

配置文件读取pom文件信息

解决的问题

springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便。

解决

配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中

pom配置文件:

<!-- 环境 -->
	<profiles>
		<!-- 开发 -->
		<profile>
			<id>dev</id>
			<activation>
				<!--默认激活配置,maven打包默认选用的配置-->
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<!--当前环境自定义配置,标签名自定义-->
				<profile.name>dev</profile.name>
				<profile.baseUrl>http://localhost:5501</profile.baseUrl>
			</properties>
		</profile>
        
		<!-- 测试 -->
		<profile>
			<id>test</id>
			<properties>
				<!--当前环境-->
				<profile.name>test</profile.name>
				<profile.baseUrl>http://test.xxxx.com/xxx</profile.baseUrl>
			</properties>
		</profile>
		<!-- 生产 -->
		<profile>
			<id>prd</id>
			<properties>
				<!--当前环境,生产环境为空-->
				<profile.name>prd</profile.name>
				<profile.baseUrl>http://api.xxx.cn/xxx</profile.baseUrl>
			</properties>
		</profile>
	</profiles>

修改后的写法

当然,别的配置项也能这样写,这样写的好处是只需修改一处别的不用修改

maven打包命令

mvn clean package -Ptest 这样就能打成测试环境的包了

可能会出现的一些问题

  • 占位符也可以这样写 @配置的key@,不建议这样使用
  • 报@@ 解析错误,再次执行打包命令: mvn clean package -Ptest
  • 修改了pom文件中的配置,再次启动项目环境没有变化,因为ide启动的是你之前的包所以你要重新使用打包命令打个新包

Pom文件依赖配置说明

1、groupId、artifactId、version是依赖的基本坐标,缺一不可,其它两个坐标元素不指定时将采用默认值

  • type:依赖的类型,对应坐标packaging,默认为jar
  • optional:标记依赖是否可选,A->B->C,那么当A依赖于C时就可以设为可选。
  • exclusions:排除传递依赖

scope 依赖范围

  • compile:编译范围,默认scope,在classpath中存在
  • provided:已提供范围,比如容器提供Servlet API
  • runtime:运行时范围,编译不需要,接口与实现分离
  • test:测试范围,单元测试环境需要
  • system:系统范围,自定义构件,指定systemPath
  • import:导入依赖

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java编程实现杨辉三角两种输出结果实例代码

    java编程实现杨辉三角两种输出结果实例代码

    这篇文章主要介绍了java编程实现杨辉三角两种输出结果实例代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • java调用shell命令并获取执行结果的示例

    java调用shell命令并获取执行结果的示例

    今天小编就为大家分享一篇java调用shell命令并获取执行结果的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • java 数据的加密与解密普遍实例代码

    java 数据的加密与解密普遍实例代码

    本篇文章介绍了一个关于密钥查询的jsp文件简单实例代码,需要的朋友可以参考下
    2017-04-04
  • Apache Shrio安全框架实现原理及实例详解

    Apache Shrio安全框架实现原理及实例详解

    这篇文章主要介绍了Apache Shrio安全框架实现原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java并发编程之ReentrantLock解析

    Java并发编程之ReentrantLock解析

    这篇文章主要介绍了Java并发编程之ReentrantLock解析,ReentrantLock内容定义了一个抽象类Sync,继承自AQS,而不是自己去继承AQS,所有对ReentrantLock的操作都会转化为对Sync的操作,需要的朋友可以参考下
    2023-12-12
  • java如何自定义List中的sort()排序,用于日期排序

    java如何自定义List中的sort()排序,用于日期排序

    这篇文章主要介绍了java如何自定义List中的sort()排序,用于日期排序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java线程中synchronized和Lock区别及介绍

    java线程中synchronized和Lock区别及介绍

    这篇文章主要为大家介绍了java线程中synchronized和Lock区别及介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java线程公平锁和非公平锁的差异讲解

    Java线程公平锁和非公平锁的差异讲解

    今天小编就为大家分享一篇关于Java线程公平锁和非公平锁的差异讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • spring web.xml指定配置文件过程解析

    spring web.xml指定配置文件过程解析

    这篇文章主要介绍了spring web.xml指定配置文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java多线程继承Thread类详解

    Java多线程继承Thread类详解

    Java多线程的两种实现方式:继承Thread类 & 实现Runable接口,今天我们来学习下继承Thread类,希望大家能够喜欢
    2016-06-06

最新评论