SpringBoot学习笔记(二)jar包部署,配置文件初探

152 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

导出 jar 包并部署

导出前的准备工作

  1. 官方文档入门篇4.5小节:docs.spring.io/spring-boot…
  2. 学习笔记(一)里面做完的东西

将官方文档中的这一段复制到 pom.xml 文件中 在这里插入图片描述

注意复制到 pom.xml 的位置,在学习笔记(一)里面复制的那些东西的下面 在这里插入图片描述 然后更新一下 在这里插入图片描述

如果出现了这个绿色的 √ ,说明,更新成功

在这里插入图片描述 然后开始导出 jar 文件,双击这个 package 在这里插入图片描述 观察下面的执行栏,如果提示 build success,说明导出成功

在这里插入图片描述

成功导出之后怎么使用

上图中所处的这个地方,找到导出 jar 文件的路径,进入这个目录,可以找到图标是这样的一个文件 在这里插入图片描述 用 cmd 进入当前目录,输入java -jar 文件名 在这里插入图片描述 就可以看到下面一系列的东西

在这里插入图片描述 友情警告: 如果前面没有将官方文档的那个xml复制过来,会无法运行,因为那个文件里面声明了后续进行这个操作所需要的一些依赖

如果没有的话,导出的 jar 文件中的配置文件,会缺少对 java 启动类的描述,从而导致无法打开网页

访问网页时的配置流程

扫描配置清单

先找到启动类所处的包,执行这个东西 @ComponentScan(basePackages = "包的名字") 也就是扫描一次,解析配置类,这些是这个框架自动完成的

如果括号内为空,即没有指定这个包的名字 则会将当前写了 @ComponentScan 的这个类所处在的包的名字,作为参数传递到上面 basePackages 那里 所以,controller 这个类所处在的包必须在 Start_Class这个类所处包的下面,小于或等于

如果 controller 类所处的包,不满足上面这个条件,在网页输入 127.0.0.1:8080/hello/world 则会导致 404 错误 因为,spring 找不到这个接收 /hello/world 这个的地方(即没有被扫描出来,没有扫描出来的东西不能正常执行) 所以会认为输入的东西不合理,也就是请求不可用

像这样,现在两个类是同级了,而不是上下级关系 在这里插入图片描述 虽然 spring 启动成功了

在这里插入图片描述 但是网页的显示结果是这样的

在这里插入图片描述

结论

将启动类放置在一个包下面,如果要添加其他的类或者包(功能性的),全部放在这个启动类所属包下面

配置文件

必须放在这个文件夹下面

在这里插入图片描述 而且,文件的名字只有两种 ,application.properties 或者 application.yml

这个是规定,没有办法,除非你是 spring 的作者,用别人的东西,只能接受别人的规定

他可以干什么?

配合 springboot 完成自动配置