1.Spring Boot 概述
1.1 什么是Spring Boot
Spring使用“习惯优于配置”的理念,让项目快速的运行起来。使用Spring Boot可以很容易创建一个独立运行的、准生产级别的基于Spring的项目。Spring Boot内置Servlet容器,可以以jar的方式运行项目。
1.2 Spring Boot 的核心功能
1)独立运行的Spring项目
Spring boot可以以jar包的方式运行,即运行一个Spring Boot项目只需使用java -jar xx.jar的方式。
2)内嵌Servlet容器
Spring Boot可以选择内嵌的Tomcat、Jetty或者Undertow,这样无需以war包的方式部署项目。
3)提供starter简化maven配置
Spring Boot提供了一系列的starter pom来简化maven的依赖加载。
4)自动配置Spring
Spring Boot 会根据类路径中的jar包或者类,为jar包里的类自动配置bean,这样极大的减少了我们要使用的配置,当然,Spring Boot虽然考虑到了大多数的场景,但是在实际开发中,我们也需要自动配置,但是Spring Boot没有提供,可以自定义自动配置。
5)准生产的应用监控
Spring Boot提供了基于HTTP,ssh和telnet对运行时项目的监控。
6)无代码生成和xml配置
Spring 4.X提倡使用Java配置和注解组合使用,而Spring Boot不需要xml配置可以实现Spring的配置。
1.3 Spring Boot优缺点
优点:
1)快速构建项目
2)对主流的开发框架无配置集成
3)项目可以独立运行,无需依赖外部Servlet容器
4)提供运行时的应用监控
5)极大的提高了开发、部署的效率
6)与云计算天然的集成
缺点:
1)国内书籍资料不足。
2)如果不想用Spring框架,这也是一个缺点。
2.Spring Boot快速搭建(基于eclipse STS插件)
环境: eclipse(装有Spring Boot插件STS),jdk1.8,maven,Spring Boot版本:1.5.19
打开eclipse,新建–other,然后选择Spring start project,如图:
填写项目信息:
勾选web,添加web依赖,然后finish,新建了一个空的Spring Boot的web项目,项目结构是如图:
pom文件:
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.19.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.sunshuo</groupId>
<artifactId>spring-boot-starter-hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-starter-hello</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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>
</plugin>
</plugins>
</build>
</project>
第一个Spring Boot项目
Spring Boot会成成一个入口类:
新建一个Class,代码如下:
package com.sunshuo.springboot_hello;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* Title: HelloController
* </p>
* <p>
* Description:
* </p>
*
* @author SunShuo
* @date 2019年3月26日
*/
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Hello Spring Boot";
}
}
在入口类中,运行main方法,控制台会有类似输出:
访问http://localhost:8080/,会得到如下结果:
第一个Spring Boot项目就运行起来了。
代码解释:
1)@SpringBootApplication:该注解是Spring Boot的核心注解,主要的目的是开启自动配置。
2)main方法:项目启动的入口。