Spring Boot
1.1 简介
springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVC+Spring+Mybatis框架进行开发的时候,我们需要配置web.xml,spring配置,mybatis配置,然后整合在一起,而springboot抛弃了繁琐的xml配置过程,采用大量默认的配置来简化我们的spring开发过程。
SpringBoot化繁为简,使开发变得更加的简单迅速。
1.2 特性
能够快速创建基于spring的程序
能够直接使用Java main方法启动内嵌的Tomcat服务器运行springboot程序,不需要部署war包
提供约定的starter POM来简化Maven配置,让Maven的配置变得简单
自动化配置,根据项目的Maven依赖配置,springboot自动配置spring、springmvc等
提供了程序的健康检查功能
基本可以完全不使用xml配合文件,采用注解配置
特性理解
为基于 Spring 的开发提供更快的入门体验
开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。
提供了一些大型项目中常见的非功能特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。
1.3 Spring Boot的优点
约定大于配置
创建独立的spring应用程序。
嵌入的tomcat jetty 或者undertow 不用部署WAR文件。
允许通过Maven来根据需要获取starter
尽可能的使用自动配置spring
提供生产就绪功能,如指标,健康检查和外部配置properties yaml yml
完全没有代码生成,对XML没有要求配置[不用]
1.4Spring Boot 入门程序
环境准备
①JDK1.8
②Maven3.6+
③IDEA2020.1
④SpringBoot2.x
⑤Spring5.x
新建工作空间
先创建一个空项目方便将所有的代码写在一个工作空间中
创建项目
这里我们选择创建Module来完成第一个Spring Boot项
项目目录说明
pom.xml文件分析
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--继承了springBoot的父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!-- 我们自己的GAV坐标--> <groupId>com.bjpowernode</groupId> <artifactId>01-spring-boot-hello</artifactId> <version>0.0.1-SNAPSHOT</version> <!--项目名称--> <name>spring-boot-hello</name> <!--项目描述--> <description>Demo project for Spring Boot</description> <!--版本控制--> <properties> <java.version>1.8</java.version> </properties> <!--依赖--> <dependencies> <!--web的依赖整合了Mvc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--热部署的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <!-- 配置文件拓展依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <!--lombok工具依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--springBoot测试依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!--构建--> <build> <!--打包插件--> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> |
创建IndexController(在启动类同级或者子包下面)
package com.bjpowernode.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class IndexController { @GetMapping("hello") public String hello() { return "hello Spring Boot"; } } |
启动
测试访问
修改为自己的banner
启动查看