本文转载自微信公众号「小明菜市场 」,作者小明菜市场。转载本文请联系小明菜市场公众号。
前言
Spring Boot 出现的原因
Spring Boot的出现,主要是用来解决 Spring 过去的一些问题,提出了约定优于配置的思想,默认对很多方法进行了设置,使得开发者可以快速的构建项目,集成第三方的内容。使得开发效率大大提升。
基本概念
Spring Boot 不单单是一套框架,是一套体系,目的是简化 Spring 的开发。
特点
基于 Spring 的开发提供更快的入门 直接上手,冗余代码没有 内嵌式容器 简化 Spring
核心功能极度依赖构建工具 能够进行自动化的配置
Hello World
Maven创建
创建一个新的空工程,分别创建 module,如下图所示
创建 Maven Module
创建一个 Module,选择 Maven 工程,勾选以前用的 web 骨架
填写好 GroupID,ArtifactID
选择好以后,按住回车
这样就完成了一个基本的 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 :: (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
图片显示如下
输入创建的 controller 项目直接打印出来
项目打包成为 jar 包
添加依赖
- <plugin>
- <!-- 打包插件 -->
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
单击右边,进行package 进行打包,选择package选项
可以看到target下产生了新的jar包,这里直接在cmd中运行
关于作者
我是小小,一枚小小的程序猿。bye~bye!