• Spring Boot(一)


    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";
    }
    复制代码

  • 相关阅读:
    关于使用css3属性:transform固定菜单位置,在滑动页面时菜单闪现抖动的问题
    使用iscroll.js插件时,遇到在Android端无法点击a超链的解决办法
    window.external的使用
    SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
    chain.doFilter(request,response)含义
    巧用Ajax的beforeSend 提高用户体验
    getRequestDispatcher(path).forward(),,执行完,后面的代码居然还会执行!!!记得加return 啊亲
    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
    ajax修改表单的值后dom没更新的解决办法
    .net core json序列化首字符小写和日期格式处理
  • 原文地址:https://www.cnblogs.com/liuying23/p/12017912.html
Copyright © 2020-2023  润新知