Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件

打包与运行

window版本上制作

我们要把idea中的程序抽取出来作为一个独立的jar包

把jar包放到服务器上

服务器是长期运行的

我们就能随时访问了

在Maven的生命周期中选择package 打包功能

在资源管理器中查找

复制代码
java -jar 文件名.jar

java -jar 文件名.jar

但是我们在测试里面写的增删改查操作

会造成影响

在线上测试的时候

我们可以在maven工具里面跳过测试

这样打包的时候就不会进行测试

测试功能就能跳过

有了这样的环境直接就不只只局限于自己的计算机

这样打包速度会变快

打包插件

如果注释掉打包插件

就不能运行了

运行时会说

没有主清单属性

xml配置文件对比

lib文件夹里有一堆jar

是所有的类

把所有的jar包都打到工程下

org文件夹有一堆类加载器

总结

在windows命令行中查端口

启动时临时属性设置

更改临时测试

是更改的spring的配置文件里面的数据

这是与上线运维有关的操作

然而属性加载有优先数据

通过我们的命令行加一些临时属性

会设置一写东西

我们该如何在开发环境里面去设置这些临时属性呢

打开配置

修改程序实参

这样运行的时候 就能携带参数

将端口号自动改成80

启动类里面的args就是arguments 实参

我们打印一下信息

原来是这样

手搓参数

这是我们设置我们程序的安全设置

我们直接把端口斩断

在启动boot程序时断开读取外部程序的临时配置的对应入口

也就是去掉读取外部配置数据参数的形参

这样就能保证项目程序的安全性

配置文件的四级分类

我们的项目经理上线的时候

要去给出一套配置

去覆盖当前配置

创建新目录config

config里面的配置会覆盖当前的配置文件

我们在做boot项目的时候通常会有两个配置文件

第一个配置文件是给项目经理上线运营用的

一个配置文件是给程序员

这两个配置文件有一个合作的原则

叠加在一起

冲突的配置 是高级别的文件覆盖低级别的文件

但是如果以后是给公司 给银行写系统 涉密等级很高

我们就需要有全新的配置文件

我们得先把项目打包

然后把配置文件复制到jar包同级目录下

放一起

这样启动就能优先在当前配置文件下的配置启动

到了项目运维阶段

这个文件就给运维人员用来配置

我们还有一个最高的配置 给运维组长来使用

这是jar包同级目录下的config包下的配置文件

这一级是最高的

自定义配置文件

配置文件默认都是啊application开头的

可以改的

写一个简单的boot项目

控制层用rest模式开发

重命名配置文件

但这样就不会提示了

运行后后

会存在找到其他配置文件的情况 我们要到文件资源管理器里面去查找

我们可以在boot项目配置里面去手动设置指定配置文件

复制代码
--sprng.config.name=***

yml不生效的大概率port:后面没有空格

如果配置文件是yml

修改填入的参数有所不同

复制代码
--spring.config.location=classpath:/***

加入多个文件

参数不同 用逗号隔开

当我们配置多个配置文件的时候

是后面一个配置文件里面的配置生效

小结

这都是boot官方文档中标注的知识

这种就是一种覆盖思想

当我们的项目上线的时候 会有新的配置

当我们又不能弃用我们在开发时的配置

我们就采用这种覆盖思想将我们在开发时候的配置进行覆盖

从而使用新的配置

挨着往后填就行了

就应征那句话

程序不出问题就不要去动 如果实在要动 就去改自己完成的部分就行

挨着去写配置就行了

这样就能保证自定义配置的正常运行

真正的互联网的项目开发的时候

我们不会进行配置文件书写 而是通过配置中心进行设定 动态加载配置信息

这种配置这种再当前的单体项目还是很吃香的

但是以后还是要学习spring cloud微服务开发

相关推荐
逸Y 仙X21 分钟前
文章二十七:ElasticSearch ES查询模板(Search Template)高效复用实战
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
二哈赛车手36 分钟前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
薪火铺子36 分钟前
Redis 缓存三大问题与解决方案
redis·spring·缓存
AC赳赳老秦40 分钟前
接口测试自动化:用 OpenClaw 对接 Postman,实现批量回归测试、测试报告自动生成与推送
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
两年半的个人练习生^_^40 分钟前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范
pq2171 小时前
最简单的理解synchronized锁升级
java
杨凯凡1 小时前
【032】排查入门:jstack、heap dump、Arthas 初识
java·开发语言·后端
pq2171 小时前
Spring FactoryBean源码解析
java·spring boot·spring
其实防守也摸鱼1 小时前
无线网络安全--实验 规避WLAN验证之发现隐藏的SSID
java·开发语言·网络·安全·web安全·智能路由器·无线网络安全
pq2171 小时前
spring如何扫描解析bean(注册bean的多种方式)
spring