SpringBoot

一、SpringBoot入门

1. SpringBoot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

2. SpringBoot特性

2.1 SpringBoot并不是对Spring功能上的增强,而是提供了一种快速创建独立的Spring应用程序的框架

2.2嵌入的Tomcat,无需部署WAR文件

2.3 简化Maven配置

2.4 自动配置Spring

2.5 绝对没有代码生成和对XML没有要求配置

2.6备受关注,是下一代框架,已经是不争的事实,不需要学习springmvc

2.7微服务的入门级微框架,springboot是springcloud的基础

 

3 SpringBoot开发环境准备

3.1开发环境JDK1.8  Tomcat7.0(这里不演示配置)

3.2开发工具Eclipse或者是Idea

3.3项目管理工具Maven

4 SpringBootHelloWorld案例

4.1导入依赖

<dependency>
  <!-- spring-boot-starter-web是为我们提供了包括mvc,aop等需要的一些jar -->
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <!-- 因为我们已经配置了 parent 中的version 所以这里不需要指定version了 -->
</dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
  </dependency>

4.2创建Controller

@RestController
@RequestMapping("/first")
public class HelloController {
    @RequestMapping("/firstRequest")
    public String firstRequest(){
        System.out.println("第一个Controller请求");
        return "Hello Soringboot";
    }
}

4.3启动程序

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

4.4运行结果

 

 

5 SpringBoot如何不显示错误异常

5.1创建带有异常的Controller

@RestController
@RequestMapping("/first")
public class HelloController {
    @RequestMapping("/firstRequest")
    public String firstRequest(){
        int result=5/0;
        System.out.println("第一个Controller请求");
        return "Hello Soringboot";
    }
}

5.2创建异常类

@ControllerAdvice
public class ExceptionHandler {
    //捕获运行时异常
    @org.springframework.web.bind.annotation.ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public Map<String ,Object> exceptionHandler(){
        Map<String ,Object>  map=new HashMap<>();
        map.put("error","500");
        map.put("msg","您好 ,服务器暂时出现异常,请稍后重试");
        return map;
    }
}

5.3启动程序

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

5.4运行结果

 

6. SpringBoot使用FreeMarker

6.1创建配置文件application.properties

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

6.2向页面传单个值Controller

@Controller
@RequestMapping("/free")
public class FreeController {
    @RequestMapping("/firstFree")
    public String firstFree(ModelMap map){
        map.put("name","张三");
        return "HelloFreeMarker";
    }

6.3页面

 

6.4运行结果

 

6.5向页面传集合Controller

@RequestMapping("/secondFree")
public String secondFree(ModelMap map){
    List<String> list =new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    map.put("names",list);
    return "HelloFreeMarker";
}

6.6页面

 

6.7运行结果

 

6.8向页面传对象Controller

@RequestMapping("/thirdFree")
public String thirdFree(ModelMap map){
    List<Student> studentList=new ArrayList<>();
    Student student=new Student();
    student.setStu_name("张三");
    studentList.add(student);
    map.put("student",studentList);
    return "HelloFreeMarker";
}

6.9页面

 

6.10运行结果

 

原文地址:https://www.cnblogs.com/szhhhh/p/12016798.html