Spring Boot(一):入门篇
文章目录
什么是 Spring Boot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
使用 Spring Boot 有什么好处
**其实就是简单、快速、方便!**平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?
- 1)配置 web.xml,加载 Spring 和 Spring mvc
- 2)配置数据库连接、配置 Spring 事务
- 3)配置加载配置文件的读取,开启注解
- 4)配置日志文件
- …
- 配置完成之后部署 Tomcat 调试
快速入门
通过IDEA快速创建一个Springboot的项目,项目结构如图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Avt1rgiP-1605520477325)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106100649488.png)]
src/main/java
程序开发以及主程序入口src/main/resources
配置文件src/test/java
测试程序- POM.XML是用来添加依赖的
注意:Controller,Service,dao三层都要放在Application下,不然不被加载。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A7k8LUD3-1605520477326)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106101523980.png)]
配置Controller,记得要加上注解,springboot才能知道他是控制层,然后启动Springboot,去访问页面就可以啦
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSIvCrxo-1605520477329)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106101815055.png)]
springboot实现热部署
为什么要使用热部署
在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受啊。在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。下面我=我们就看看对于简单的类修改的热部署怎么实现。
热部署原理
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。若想探究底层实现或者自定义加载类,可以参考大佬博客
热部署方式
springboot有3种热部署方式:
- 1.使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动
- 2.使用springloaded本地加载启动,配置jvm参数
-javaagent:<jar包地址> -noverify
- 3.使用devtools工具包,操作简单,但是每次需要重新部署
我们一般使用第三种
热部署步骤
- 添加依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ik58juYV-1605520477330)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106103150407.png)]
-
devtools的配置,在是spring配置文件中配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aqx0iqoa-1605520477332)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106103436368.png)]
-
IDEA中配置(当我们修改了类文件后,idea不会自动编译,得修改idea设置。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3U97tWSO-1605520477333)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201106103649732.png)]
-
测试
- 修改类–>保存:应用会重启
- 修改配置文件–>保存:应用会重启
- 修改页面–>保存:应用不会重启,但会重新加载,页面会刷新
测试*
- 修改类–>保存:应用会重启
- 修改配置文件–>保存:应用会重启
- 修改页面–>保存:应用不会重启,但会重新加载,页面会刷新
文章参考
https://blog.csdn.net/ityouknow/article/details/80490926?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160462735719724835832495%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160462735719724835832495&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v1~rank_blog_v1-26-80490926.pc_v1_rank_blog_v1&utm_term=springboot&spm=1018.2118.3001.4450