前言

Spring Boot 出现的原因

Spring Boot的出现,主要是用来解决 Spring 过去的一些问题,提出了约定优于配置的思想,默认对很多方法进行了设置,使得开发者可以快速的构建项目,集成第三方的内容。使得开发效率大大提升。

基本概念

Spring Boot 不单单是一套框架,是一套体系,目的是简化 Spring 的开发。

特点

基于 Spring 的开发提供更快的入门 直接上手,冗余代码没有 内嵌式容器 简化 Spring

核心功能

极度依赖构建工具 能够进行自动化的配置

Hello World

Maven创建

创建一个新的空工程,分别创建 module,如下图所示Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发

创建 Maven Module

创建一个 Module,选择 Maven 工程,勾选以前用的 web 骨架Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_02填写好 GroupID,ArtifactIDSpring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_03选择好以后,按住回车Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_04这样就完成了一个基本的 maven 项目的创建

添加起步依赖

根据 Spring Boot 的要求,进行简单的测试,以及添加相应的起步依赖 项目需要继承 Spring Boot 的起步依赖 Spring boot starter parent 为了集成 Spring MVC 进行 Controller 开发,需要导入 Spring boot starter web

<?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>2.2.7.RELEASE</version>
</parent>

<groupId>cn.ideal</groupId>
<artifactId>springboot_01_start</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>

编写 Spring Boot 启动类

这里编写 Spring Boot 启动类

package cn.ideal;

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

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

创建控制层

package cn.ideal.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class QuickStartController {
@RequestMapping("/test")
@ResponseBody
public String test(){
return "springboot 访问测试,起飞,飞飞飞飞 ~ ~ ~";
}
}

测试 Spring Boot

项目启动,控制台会输出如下内容Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_05

 .   ____          _            __ _ _
/\ / ___'_ __ _ _(_)_ __ __ _
( ( )___ | '_ | '_| | '_ / _` |
\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |___, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.7.RELEASE)

2020-05-10 22:11:34.973 INFO 30580 --- [ main] cn.ideal.MySpringBootApplication : Starting MySpringBootApplication on LAPTOP-5T03DV1G with PID 30580 (F:developIdeaProjectsframework-codespringboot_01_demospringboot_01_starttargetclasses started by abc in F:developIdeaProjectsframework-codespringboot_01_demo)
2020-05-10 22:11:34.976 INFO 30580 --- [ main] cn.ideal.MySpringBootApplication : No active profile set, falling back to default profiles: default
2020-05-10 22:11:35.686 INFO 30580 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-05-10 22:11:35.693 INFO 30580 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-05-10 22:11:35.693 INFO 30580 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.34]
2020-05-10 22:11:35.765 INFO 30580 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-05-10 22:11:35.766 INFO 30580 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 747 ms
2020-05-10 22:11:35.884 INFO 30580 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-05-10 22:11:35.990 INFO 30580 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-05-10 22:11:35.993 INFO 30580 --- [ main] cn.ideal.MySpringBootApplication : Started MySpringBootApplication in 1.318 seconds (JVM running for 2.665)

图片显示如下Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_06输入创建的 controller 项目直接打印出来Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_07

项目打包成为 jar 包

添加依赖

<plugin>
<!-- 打包插件 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

单击右边,进行package 进行打包,选择package选项

Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_08

可以看到target下产生了新的jar包,这里直接在cmd中运行Spring Boot | 一个90后女孩的第一个 Spring Boot 应用_前端开发_09