网易官网建立个人网站,wordpress不显示全文,绥芬河网站建设,wordpress视频播放插件下载文章目录 1. SpringBoot 项目部署2. 属性配置方式2.1 通过 cmd 命令行配置2.2 通过环境变量配置2.3 通过外部配置文件来配置 3. 多环境开发 Profiles3.1 多环境开发的单文件配置3.2 多环境开发的多文件配置3.3 多环境开发-分组 1. SpringBoot 项目部署
项目完成后#xff0c;… 文章目录 1. SpringBoot 项目部署2. 属性配置方式2.1 通过 cmd 命令行配置2.2 通过环境变量配置2.3 通过外部配置文件来配置 3. 多环境开发 Profiles3.1 多环境开发的单文件配置3.2 多环境开发的多文件配置3.3 多环境开发-分组 1. SpringBoot 项目部署
项目完成后需要部署到服务器上。
SpringBoot 项目需要经过编译打包生成一个 jar 包借助打包插件 spring-boot-maven-plugin再将该 jar 包发送或拷贝到服务器上然后就可以通过执行 java -jar jar包位置 来运行 jar 包。 服务器的系统可能是 windows、mac、linux。 (1) 在 pom.xml 中导入打包插件
buildpluginsplugin!--打包插件: 版本与boot版本保持一致--groupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion3.1.5/version/plugin/plugins
/build(2) 将项目打包双击 package 项目会经过编译、测试最终打包完成 打包完成后得到的 jar 包 在本地磁盘目录下打开 jar 包所在位置 现在按说要将该 jar 包发送到服务器再执行 java -jar 命令。这里就不再发送到服务器了直接把本机当成服务器运行 jar 包此前要停止 idea 中的项目占用默认的 8080 端口 此时项目就部署好了postman 测试正常。
2. 属性配置方式
如果希望部署好的项目绑定的端口是 9090而不是默认的 8080该怎么办呢
根据之前的知识可以在 properties 或 yml 配置文件中通过 server.port 来配置。 但是我们交给客户或运维的是 jar 包而不是项目源文件所以他们无法直接修改这些属性。那怎么办呢此时就要用到 SpringBoot 属性配置相关知识了。
之前我们配置属性的方式是在 yml 配置文件中除此之外SpringBoot 还提供了其他配置属性的方式下面以 windows 服务器为例来介绍。
2.1 通过 cmd 命令行配置
在运行 java -jar 命令时添加参数以指定端口。该参数会被传递到启动类 main 方法的形参上args 数组项目启动后该参数又被传递给 run 方法。 2.2 通过环境变量配置
在环境变量中添加属性键和值需要与 SpringBoot 中需要的键和值保持一致将来 Boot 程序会自动读取这些环境变量来使用。 重新打开 cmd运行 jar 包可以发现在环境变量中的修改已经生效 当需要配置的属性很多时以上两种方式都比较繁琐。因此SpringBoot 又提供了外部配置文件的方式来配置属性。
2.3 通过外部配置文件来配置
在 jar 包所在目录下提供 application.yml 配置文件。可以在该文件中批量配置要修改的属性。jar 包运行起来之后Springboot 会自动读取该文件中的配置来使用。 在测试该方法是否生效之前删掉之前在环境变量中配置的端口号 重新启动 cmd端口号发生改变 到此为止我们已经学习了四种属性配置方式它们的优先级如下命令行参数优先级最高 3. 多环境开发 Profiles
多环境指的是我们的程序将来可能运行在不同的环境中如开发、测试、生产环境。 在不同环境下程序的配置信息有可能不同。举个例子在开发、测试、生产环境中程序连接的数据库是不同的因此配置文件中书写的有关数据库的配置信息也会不同。为了使程序在不同环境下都能正确运行需要不断修改项目的配置文件这样的话非常繁琐应该怎么解决呢这就需要用到 SpringBoot 提供的多环境开发技术——Profiles。
解决刚刚的问题最直观的方式就是为每个环境提供独立的数据配置信息然后指定程序使用运行环境对应的配置信息 下面就来介绍使用 Profiles 如何达到这种效果。
3.1 多环境开发的单文件配置
SpringBoot 提供的 Profiles 可以用来隔离应用程序配置的各个部分并在特定环境下指定部分配置生效。
如何分隔不同环境的配置 如何指定哪些配置属于哪个环境 如何指定哪个环境的配置生效 在 yml 配置文件中分别为开发、测试、生产环境进行信息配置的示例
#通用信息
spring:profiles:active: test #指定生效的环境
server:servlet:context-path: /aaa #三个环境中共性的信息: 虚拟目录都是/aaa
---#开发环境
spring:config:activate:on-profile: dev #环境名称server:port: 8081 #端口号
---#测试环境
spring:config:activate:on-profile: test #环境名称server:port: 8082 #端口号---#生产环境
spring:config:activate:on-profile: pro #环境名称server:port: 8083 #端口号启动程序程序运行在测试环境端口号是 8082虚拟目录是 /aaa 如果特定环境中的配置和通用信息冲突了特定环境中的配置生效。 启动程序程序运行在开发环境端口号是 8081虚拟目录是 /bbb 如果在 yml 配置文件中每个环境的配置信息都非常多就会很难维护修改配置很容易出错如何解决呢
3.2 多环境开发的多文件配置
通过多个文件分别为不同环境配置属性不同环境的配置文件名字为 application-环境名称.yml在 application.yml 中激活指定环境 示例 3.3 多环境开发-分组
在前面我们已经把不同环境的配置信息书写到了不同配置文件下这样就能一定程度上减少单个配置文件的信息。但是这种拆分方式有时还是不能满足开发中的需求把某个环境的配置信息都写到一个文件中配置信息还是太多依然不利于维护。
比如将来可能会在开发环境相关的配置文件中配置很多信息服务器相关配置、数据源相关配置、自定义配置…… 这样一个配置文件可能会有几百行代码维护起来还是很困难。为了解决这个问题profiles 提供了分组功能 按照配置的类别把配置信息配置到不同的配置文件中 application-分类名.yml在application.yml中定义分组 spring.profiles.group在application.yml中激活分组 spring.profiles.active不再是指定某个文件了而是组的名称
示例