springboot(一)

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";
}

原文地址:https://www.cnblogs.com/ws1149939228/p/12017734.html