SpringBoot介绍
Spring Boot的主要优点:
为所有Spring开发者更快的入门
开箱即用,提供各种默认配置来简化项目配置
内嵌式容器简化Web项目
没有冗余代码生成和XML配置的要求
本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。
SpringBoot项目的创建
可以去官网直接下载一个SpringBoot项目https://start.spring.io/
将其导入即可
Idea创建SpringBoot项目:
选择依赖
SpringWeb为必须
创建HelloController请求地址
注意:@SpringBootApplication可以扫描当前类所在的包以及子包,所以所有要被扫描的类应该在该类的同级包以及子包中。控制层被扫描到后写入到SpringBoot的容器中。
控制层
@RestController
public class HelloController {
@RequestMapping("/hello")
public String Hello(){
return "hello:张三";
}
@RequestMapping("/hi")
public String hi(String name){
return "hello:"+name;
}
}
http://localhost:8080/hello
SpringBoot不用部署Tomcat默认没有项目名称
可以在application.properties修改端口号和添加项目名称
server.port=8080
#添加项目名称(可以不写)
#server.servlet.context-path=/de
SpringBoot访问静态资源
静态资源必须放在resources下的static文件夹下
发送请求访问静态资源:
http://localhost:8080/img/a.png
SpringBoot不用部署Tomcat默认没有项目名称,http://localhost:8080后不用添加项目名,直接加’/’(代表resources)后边不用写static(在SpringBoot中,系统默认扫描静态文件在)跟着要访问的静态资源。
SpringBoot异常捕获
注意:@SpringBootApplication可以扫描当前类所在的包以及子包,所以所有要被扫描的类应该在该类的同级包以及子包中。
创建GlobalExceptionHandler类捕获全局异常:
发生异常时根据就近原则触发对应的方法。
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class)
public String exception() {
return "系统发生异常";
}
@ExceptionHandler(value = ArithmeticException.class)
public String arithmeticException() {
return "系统发生算数异常";
}
@ExceptionHandler(value = NullPointerException.class)
public String nullPointerException() {
return "系统发生空指针异常";
}
}
SpringBoot的工作流程
-
@SpringBootApplication:是Sprnig Boot项目的核心注解,目的是开启自动配置(自动化装配 130个类)。
-
SpringApplication.run():创建上下文,启动服务器。