SpringBoot运维实用篇一(打包与运行、自定义配置文件、修改临时属性、配置文件的4级分类)

1、IDEA中Maven打包并运行jar包

前提:需要有打包的插件

如果没有这插件,那么打包之后的jar包运行就会出现:.jar中没有主清单属性

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
maven运行打包

如果不点击闪电按钮划去test测试的话,在打包的过程中也会将测试跑一次,如果有新增、修改、删除等测试,那么数据库可能就会跟打包之前的数据不匹配了,这一点是需要注意的

springboot打包后指定IP springboot打包后修改配置_maven

运行打包点击package,打包之前先点击clean清空一下原来的打包数据

找到打包之后的项目.jar

springboot打包后指定IP springboot打包后修改配置_配置文件_02

如何运行.jar包呢?

在文件夹的上面输入cmd+回车进入win的终端命名

springboot打包后指定IP springboot打包后修改配置_maven_03

终端命名中输入如下命令启动.jar包项目

输入jar包的前缀+Table会自动补全名称

java -jar jar包名称.jar

启动界面【页面正常的输入访问路径即可访问】

springboot打包后指定IP springboot打包后修改配置_配置文件_04

关于Win环境下查看进程和杀死进程的命令

为什么需要查看和杀死进程呢?原因是可能运行是某个计算机的端口号你是不知道的,而你要发布的项目的端口号已经被占用了你又不知道是什么原因,那么就可以通过查看端口号查询并解决他,从而不影响发布

# 查询端口
netstat -ano
# 查询指定端口
netstat -ano |findstr "端口号"
# 根据进程PID查询进程名称
tasklist |findstr "进程PID号"
# 根据PID杀死任务
taskkill /F /PID "进程PID号"
taskkill -f -pid "进程PID"
# 根据进程名称杀死任务
taskkill -f -t -im "进程名称"

2、发布修改临时属性

application.yml设置了端口访问为:80,而我计算机上80端口被一个很重要的进程给占用了,那么又如何修改呢?可能不能在application.yml配置文件上修改的,修改方式如下:

java -jar springboot_08_ssm-0.0.1-SNAPSHOT.jar --server.port=8080

在运行的.jar包后面使用–-来设置临时属性,上面的就是修改临时属性端口为8080,而如果是多个属性的话需要通过空格隔开再使用--来拼接属性,属性的设置是对应着application.yml文件

修改属性之后的过程

springboot打包后指定IP springboot打包后修改配置_maven_05

属性的优先级

修改属性的方法有很多而且是有一个优先级的,需要在springboot官网上查看

springboot打包后指定IP springboot打包后修改配置_springboot打包后指定IP_06

3、开发环境中使用临时属性

springboot打包后指定IP springboot打包后修改配置_maven_07

查看引导类

@SpringBootApplication
public class SSMApplication {

    public static void main(String[] args) {
        SpringApplication.run(SSMApplication.class, args);
    }

}

设置的属性就是传递到args里的,再传给引导类,这样的话很容易被外部所修改,所以在开发的过程中一般不会传递args,这样外部就修改不了了,只能是在application.yml里面进行设置,提高了安全性

4、配置文件的4级分类【安全等级】

4个级别分别是:

  • 类路径下配置文件(一直使用的是这个,也就是resources目录中的application.yml文件)【最低级别】
  • 类路径下config目录下配置文件下的application.yml
  • 程序包所在目录中配置文件下的application.yml
  • 程序包所在目录中config目录下配置文件下的application.yml【最高级别】

总结

  1. 配置文件分为4种
  • 项目类路径配置文件:服务于开发人员本机开发与测试
  • 项目类路径config目录中配置文件:服务于项目经理整体调控
  • 工程路径配置文件:服务于运维人员配置涉密线上环境
  • 工程路径config目录中配置文件:服务于运维经理整体调控
  1. 多层级配置文件间的属性采用叠加并覆盖的形式作用于程序

级别1和2什么时候使用呢?程序打包以后就要用这个级别了,管你程序里面配置写的是什么?我的级别高,可以轻松覆盖你,就不用考虑这些配置冲突的问题了。

5、自定义配置文件

自定义配置文件方式有如下两种:

方式一:使用临时属性设置配置文件名,注意仅仅是名称,不要带扩展名

springboot打包后指定IP springboot打包后修改配置_springboot打包后指定IP_08

方式二:使用临时属性设置配置文件路径,这个是全路径名

springboot打包后指定IP springboot打包后修改配置_maven_09

也可以设置加载多个配置文件,在后面的文件生效,多个配置文件通过逗号隔开

总结

  1. 配置文件可以修改名称,通过启动参数设定
  2. 配置文件可以修改路径,通过启动参数设定
  3. 微服务开发中配置文件通过配置中心进行设置