SpringBoot笔记
1. SpringBoot的简介
1.1Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
1.2SpringBoot的特性
1. SpringBoot并不是对Spring功能上的增强,而是提供了一种快速创建独立的Spring应用程序的框架
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 绝对没有代码生成和对XML没有要求配置
6.备受关注,是下一代框架,已经是不争的事实,不需要学习springmvc
7.微服务的入门级微框架,springboot是springcloud的基础
2.第一个小案例
1.在idea中创建一个项目
在父工程中创建一个quickstart子项目
首先编写一个Controller
@RestController /** * 如果说在Controller类上加RestController注解代表该controller当中的所有方法都返回Json串 */ @RequestMapping("/first") public class FirstController { @RequestMapping("/firstRequest") public String firstRequest(){ System.out.println("第一个请求到达Controller"); return "Hello SpringBoot"; } }
在编写一个启动器
@SpringBootApplication /*如果启动类跟包不在同一级别下,扫描注解*/ /*@ComponentScan(basePackages = "com.boot.*")*/ public class StartSpringBoot { public static void main(String[] args) { SpringApplication.run(StartSpringBoot.class,args); } }
编写完直接启动
直接去页面访问http://localhost:8080/first/firstRequest
众所周知如果当它出现了异常怎么办
2.模拟异常案例
首先创建一个包excetption
编写MyExceptionHandler类
@ControllerAdvice public class MyExceptionHandler { //捕获运行时异常 @ExceptionHandler(RuntimeException.class) @ResponseBody public Map<String,Object> exceHandler(){ Map<String,Object> map=new HashMap<>(); map.put("error","500"); map.put("msg","您好,服务器暂时出现异常,请稍后重试"); return map; }
在Controller中模拟异常int result=5/0;
@RestController /** * 如果说在Controller类上加RestController注解代表该controller当中的所有方法都返回Json串 */ @RequestMapping("/first") public class FirstController { @RequestMapping("/firstRequest") public String firstRequest(){ int result=5/0; System.out.println("第一个请求到达Controller"); return "Hello SpringBoot"; } }
重新启动访问http://localhost:8080/first/firstRequest
3.静态页面访问
创建一下文件夹
在页面直接访问http://localhost:8080/img/1.png
3.SpringBoot整合Freemarker模板.mp4
创建一个子工程springbootFreemarker
编写FreeController
@RequestMapping("/freeFirst") public String freeFirst(ModelMap map){ map.put("name","没穿裤子"); return "helloFreeMarker"; //找templates/name.ftl }
直接运行
@RequestMapping("/freeSecond") public String freeSecond(ModelMap map){ List<String> list=new ArrayList<>(); list.add("张三"); list.add("李四"); list.add("王五"); map.put("userList",list); return "helloFreeMarker"; }
@RequestMapping("/freeThread") public String freeThread(ModelMap map){ List<Student> list=new ArrayList<>(); Student stu=new Student(); stu.setStu_id(1); stu.setStu_name("张三"); list.add(stu); map.put("stuList",list); return "helloFreeMarker"; }