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微服务开发

相关推荐
2402_857589365 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
HBryce249 分钟前
缓存-基础概念
java·缓存
一只爱打拳的程序猿24 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
杨荧25 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
minDuck27 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
白子寰32 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT44 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。1 小时前
c++多线程
java·开发语言
小政爱学习!1 小时前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript