1.Spring介绍
Spring Boot目的是简化Spring应用的初始搭建和开发过程即帮助我们快速建立一个Spring项目
Spring、Spring MVC 、Mybatis即SSM
Spring Boot是所有基于Spring开发项目的起点
Spring Boot就是尽可能地简化应用开发的门槛,让应用开发、测试、部署变得更加简单
2.SpringBoot特点
遵循“约定优于配置”的原则,只需要很少的配置或使用默认的配置
能够使用内嵌的Tomcat、Jetty服务器,不需要部署war(Tomcat服务器运行的格式只能是war包)文件
提供定制化的启动器Starters,简化Maven配置,开箱即用
纯Java配置,没有代码生成,也不需要XML配置
3.IDEA新建Spring项目
创建的是Web项目
4.新建控制器及controller包
controlle 用于 控制器是与接受浏览器的请求
可以用一个hello world 感受一下
新建一个hellocontroller在controller包下
内容如下:
package com.example.sunshop.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
//@RestController注解是用来说明HelloController是控制器
@RestController
public class HelloController {
// 注解@GetMapping是用来设置http请求方式这个是用于设置get请求
// Tomcat服务器默认端口是8080 访问时通过本地访问及https://localhost:8080/hello
@GetMapping("/hello")
public String hello(){
return "hello world";
}
}
运行Springboot项目后,可以在浏览器输入http://localhost:8080/hello访问刚才写的路径
也可以在Postman中测试,得到的结果是一样的
注意: java程序修改后不会自动部署,需要重启程序。 但是热部署可以避免重启程序
5.开发环境热部署
Spring Boot提供了spring-boot-devtools组件,使得无须手动重启SpringBoot应用即可重新编译、启动项目,大大缩短编译启动的时间
devtools会监听classpath(java编译后会放在类文件下)下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署。
并不是所有的更改都需要重启应用(如静态资源、视图模板),可以通过设置spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启应用
实现步骤:
1.在pom.xml配置文件添加dev-tools依赖(添加后记得点一下同步的图标)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.在application.properties中配置devtools
#设置重启目录
spring.devtools.restart.enabled=true
#设置classpath目录下的WEB一INF文件夹内容修改不重启
spring.devtools.restart.additional-paths=src/main/java
3.打开Settings页面,在左边的菜单栏依次找到Build,Execution,Deployment→Compile,勾选Build project automatically(我用了汉语包及找到编译器勾选自动构建项目)记得点击应用
4.按Ctrl+Shift+Alt+/ 使用快捷键调出Maintenance页面,单击Registry(注册表),勾选compiler.automake.allow.when.app.running复选框(第一个)