SpringBoot

一、SpringBoot部署

  1、新建一个Webapp项目,在pom.xml中导入SpringBoot依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

二、简单Hello案例

  1、在java中创建包com.boot,在此包中建立启动类StartSpringBoot

    

  2、在com.boot包中创建Controller包并添加创建Controller类

package com.boot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

  3、(1)启动StartSpringBoot类中的main方法,SpringBoot自带Tomcat

    

    (2)控制台效果如下

     

    (3)页面直接访问Controller类方法即可,页面实现效果如下

    

三、SpringBoot静态资源访问

  1、在resources文件下创建static包,再static下创建img包和html包

    

   2、在页面中直接访问地址即可

    (1)img访问地址如下

    

    (2)html访问地址如下

    

     

四、SpringBoot解决异常问题

  1、在Controller类中定义一个异常

    

   2、在com.boot包下创建一个一个异常包exception

    创建异常类ExceptionHandler(运行时异常,在运行时发生报错则进入该类)

package com.boot.excetption;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;

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

  3、结果如下

    

五、SpringBoot使用freemarker

  1、导入依赖freemarker

<dependency>
      <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-freemarker</artifactId>
 </dependency>

  2、配置application.propertiesleuk文件

## Freemarker 配置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.request-context-attribute=request
spring.freemarker.prefix=/
spring.freemarker.suffix=.ftl

  3、在resources包下创建templates包并创建holle.ftl模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SpringBoot整合FreeMarker</title>
</head>
<body>
欢迎:<#--${name}-->
<#list stuList as stu>
    ${stu.stu_name}
</#list>

<#if 1==1>
    呵呵,相等
</#if>
</body>
</html>

  4、创建StartSpringBoot启动类

package com.freemarker;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class StartSpringBoot {
    public static void main(String[] args){
        SpringApplication.run(StartSpringBoot.class,args);
    }
}

  5、创建Controller类freemarkerController类

package com.boot.controller;

import com.boot.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping("/free")
public class 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";
    }




}

  6、页面访问实现效果如下

    

原文地址:https://www.cnblogs.com/F017/p/12018158.html