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

目录
相关文章
|
1月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
32 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
1月前
|
前端开发 JavaScript Java
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
该博客文章介绍了作者构建的第一个前后端分离项目,使用Spring Boot和Vue技术栈,详细说明了前端Vue项目的搭建、后端Spring Boot项目的构建过程,包括依赖配置、数据库连接、服务层、数据访问层以及解决跨域问题的配置,并展示了项目的测试结果。
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
|
1月前
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
1月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
52 0
|
1月前
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
|
2月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
2月前
|
Java 应用服务中间件 开发者
Java面试题:解释Spring Boot的优势及其自动配置原理
Java面试题:解释Spring Boot的优势及其自动配置原理
96 0
|
2天前
|
Java 应用服务中间件 开发者
深入探索并实践Spring Boot框架
深入探索并实践Spring Boot框架
13 2
|
23天前
|
缓存 Java 数据库连接
Spring Boot 资源文件属性配置,紧跟技术热点,为你的应用注入灵动活力!
【8月更文挑战第29天】在Spring Boot开发中,资源文件属性配置至关重要,它让开发者能灵活定制应用行为而不改动代码,极大提升了可维护性和扩展性。Spring Boot支持多种配置文件类型,如`application.properties`和`application.yml`,分别位于项目的resources目录下。`.properties`文件采用键值对形式,而`yml`文件则具有更清晰的层次结构,适合复杂配置。此外,Spring Boot还支持占位符引用和其他外部来源的属性值,便于不同环境下覆盖默认配置。通过合理配置,应用能快速适应各种环境与需求变化。
27 0
|
1月前
|
XML Java 数据库连接
Spring Boot集成MyBatis
主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。在实际项目中,建议根据实际情况来确定使用哪种方式,一般 xml 和注解都在用。