SpringBoot学习

搭建第一个SpringBoot项目

*************************************************************************************************************************************************

这个网上有很多教程,如:

https://www.cnblogs.com/black-spike/p/8017768.html

1) @RequestMapping(value = "/hello",method = RequestMethod.GET)

这里使用的value = "/hello",而https://www.breakyizhan.com/springboot/3040.html这个地方有点误导:

经验证,"/"只会拦截后缀为"/"的请求,如:http://localhost:8080/

但是并不会拦截请求:http://localhost:8080/hello

如果想要达到拦截所有带有"/"请求的效果,可以使用“/*”达到要求

(PS:"/hello"应该不用说了吧,能且只能拦截http://localhost:8080/hello)

 

2) 三种启动方式:

① IDEA启动:run

或者:

 

② mvn启动:mvn spring-boot:run

PS:这个指令的支持是在Maven的POM.xml配置中的:

言归正传,看mvn spring-boot:run

出现这个:

但是看到这个才算真正启动:

 

② java -jar 启动:

mvn package/install/deploy,打包成jar:

(PS: 这三个指令的区别可自行了解)

看到target目录下生成了两个jar:

其中的origin是打包之前的文件(看大小应该是没加入依赖的源代码包),firstspringboot-0.0.1-SNAPSHOT.jar是打包好的文件。

接下来java -jar firstspringboot-0.0.1-SNAPSHOT.jar:

看到这个真正启动:

 

OK!!!

 

 

 

开启IDEA SpringBoot的热部署:

*************************************************************************************************************************************************① 开启IDEA的自动编译:

File-Settings-Compiler-Build Project automatically:

如这一行右侧所提示的,这样就可以在非running/debugging时候自动编译了,即项目没有run或debug时候起作用。

由于一般使用热加载的目的就是,在正在running/debugging时进行自动加载,所以要开启running/debuging时的自动编译:

ctrl + shift + alt + / —— 选中 Registry,将下面这项勾选上:

 

② 给SpringBoot项目添加 spring-boot-devtools

第①步是设置了项目的自动编译功能,但是项目正在running的class还是老的class,只有重启项目后才会生效。现在使用spring-boot-devtools 能够自动重启,方法是在Maven中加入此依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

 

这样就可以了,不过注意

1)spring-boot-devtools顾名思义——SpringBoot的开发工具,除了热加载这个功能外,还有很多其他的功能,可以单单禁用功能,最简便的方法是在SpringBoot的配置文件中这样写:

2)spring-boot-devtools默认是开启了热加载,但是其监测的机制是:当前已经保存的文件跟上一次文件对比,如果有变化则重启。换句话说,如果你修改了文件,但是没有保存,该工具是不会自动加载你还没保存的文件的。这个道理很显而易见,值得注意的是,IDEA默认没有开启自动保存,并且,IDEA默认文件修改前后不加标记,这就很容易导致一个错误:修改了当前文件,但是由于IDEA没有对修改的文件进行标记,并且也没有开启自动保存,结果一直等着热加载呢,一直没反应。

 

这个小问题解决方法有两种:

a. 修改文件后手动Ctr+S

b.开启IDEA的自动保存功能

IDEA中实测,每次修改完了之后,Ctrl+S才会触发热加载监控,光修改完了,在那等着是没有反应的

 

3)不是项目中任何文件的修改都会触发automake,spring-boot-devtools默认的监控的时classpath下的文件,即各种java类,具体见:

Spring Boot的使用:开发者工具

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值