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

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

目录
相关文章
|
6月前
|
Java Spring
Spring boot 运行服务jar外配置配置文件方式总结
Spring boot 运行服务jar外配置配置文件方式总结
977 0
|
10天前
|
Java Maven Spring
【Spring工具插件】lombok使用和EditStarter插件
本文第一个板块主要介绍了SpringMVC中lombok依赖的引入,和相应的使用方法,以及浅显的原理解释,第二个板块主要介绍EditStarter插件的安装与使用
|
19天前
|
运维 监控 Ubuntu
【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出
通过设置内存守护进程,可以有效监控和管理系统内存使用情况,防止内存溢出带来的系统崩溃和服务中断。本文介绍了如何在Ubuntu中编写和配置内存守护脚本,并将其设置为systemd服务。通过这种方式,可以在内存使用超过设定阈值时自动采取措施,确保系统稳定运行。
44 4
|
17天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
3月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
219 56
|
2月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
52 2
|
4月前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
5月前
|
弹性计算 运维 监控
通过阿里云OOS“快速设置”快速配置多地域运维任务
阿里云OOS的快速设置功能助力用户简便配置多地域运维任务,如云监控安装、配置收集与补丁扫描,定时开关机,周期性带宽升级,实现自动化管理,确保配置一致性,提升运维效率。
|
6月前
|
运维 数据安全/隐私保护 Python
Python基于telnetlib模块实现交换机全面巡检自动化运维项目
Python基于telnetlib模块实现交换机全面巡检自动化运维项目

热门文章

最新文章