zoukankan      html  css  js  c++  java
  • 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";
    }

  • 相关阅读:
    liststyle
    :nthchild(n)
    织梦CMS首页调用分类信息栏目及列表方法
    []织梦CMS首页调用分类信息栏目及列表方法
    ps快捷键
    系统架构博客,很不错
    google maps api 反向解析 地址 api
    sphinx
    sphinx discuss
    ruby分词
  • 原文地址:https://www.cnblogs.com/ws1149939228/p/12017734.html
Copyright © 2011-2022 走看看