【SpringBoot】最新版2019Spring Boot快速入门(速成SpringBoot)——学习笔记版解析【1】

SpringBoot

一、简介

1.背景

产生背景:Spring开发变的越来越笨重,大量的XML文件,繁琐的配置,复杂的部署流程,整合第三方技术时难度大等,导致开发效率低下。

SpringBoot是一个用来简化Spring应用的初始化创建和开发的框架,简化配置,实现快速开发 。

其整合了整个Spring的技术栈,可以说是JavaEE开发的一站式解决方案。

2.优点

  • 快速创建独立运行的Spring应用并与主流框架集成
  • 内置Servlet容器,应用无需打包war包
  • 使用starter(启动器)管理依赖并进行版本控制
  • 大量的自动配置,简化开发
  • 提供了准生产环境的运行时监控,如指标、 健康检查、外部配置等
  • 无需配置XML,没有生成冗余代码,开箱即用

二、第一个SpringBoot

1.推荐环境

官网:https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/reference/htmlsingle/#getting-started
在这里插入图片描述
SpringBoot 2.1.2(基于Spring5.0)

  • JDK 1.8及以上
  • Maven 3.3及以上
    修改:
    在这里插入图片描述
    在这里插入图片描述
  • Tomcat 9.0及以上
    具体情况具体配置。

2.操作

步骤:

1. 创建一个maven的java工程
传统Web应用需要创建一个web工程,后期要打成war包,然后放到tomcat中
springboot应用只需要创建一个java工程,后期直接打成jar包,其内置tomcat
2. 导入SpringBoot相关依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.2.RELEASE</version>
</parent>

<!-- Add typical dependencies for a web application -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3.编写Controller

package cn.cz.controller;

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

/**
 * 功能
 *
 * @author czzhao2
 * @created 2019年02月15日 09:35:48
 * @lastModified
 * @history
 */
@Controller
public class HelloController {
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello World";
    }
}

4.编写主程序类

package cn.cz;

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

/**
 * 启动程序
 *
 * @author czzhao2
 * @created 2019年02月15日 09:48:33
 * @lastModified
 * @history
 * @Description: 使用@SpringBootApplication标注主程序,表示这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        //启用SpringBoot应用
        SpringApplication.run(MainApplication.class,args);//传入主程序类的Class对象
    }
}

5.测试

  • 右击主程序类,点击run,ok!
    在这里插入图片描述
  • 因为boot内置了tomcat,所以可以直接启动。
    在这里插入图片描述
    注意:boot程序默认只扫描主程序类所在的包及其子包。
    在这里插入图片描述
    当不同级时,需要在主程序多加一个注解,指定扫描包:
@SpringBootApplication
@ComponentScan("cn.cz.controller")

3.部署

  • 添加依赖:
<!-- Package as an executable jar -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
  • 打包
    在这里插入图片描述
  • 将打包好的jar包随意复制到任意盘
    在这里插入图片描述

4.完整分析(pom.xml)

  • 父项目是spring­-boot-­starter-­parent
 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>
  • 父项目的父项目是spring­boot­dependencies,用来管理SpringBoot应用中依赖的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
  • 通过启动器starter添加依赖
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

SpringBoot提供了许多Starter(启动器),分别对应不同中的应用场景,只要在项目中引入这些starter,相应场景的依赖就会被导入 。
在这里插入图片描述

5.完整分析(主程序类)

  • @SpringBootApplication
    标注在类上,表示这个类是一个SpringBoot应用
  • @SpringBootConfiguration标注在类上,表示这个SpringBoot的配置类,相当于xml配置文件
  • @Configuration标注在类上,表示这个类是Spring的配置类,相当于xml文件
    层级关系:
    @Component–>@Configuration–>@SpringBootConfiguration
  • @EnableAutoConfiguration
    开启自动配置功能,SpringBoot会自动完成许多配置,简化了以前的繁琐的配置
  • @ComponentScan
    标注在类上,指定要扫描的包,默认只扫描主程序类所在的包及其子包

三、快速创建SpringBoot

1.简介

使用向导快速创建SpringBoot项目
在这里插入图片描述
需要启动哪个就勾选哪个,添加starter
在这里插入图片描述

2.基本操作

默认生成的.mvn、.gitignore等可以删除
POM文件和主程序类都已经生成好了,直接写业务逻辑(可以写controller 测试)即可
resources文件夹的目录结构

|­resources
      |­static 存放静态资源,如css js images
      |­templates 存放模板页,可以使用模板引擎,如freemarker、    velocity、theamleaf等
      |­application.properties SpringBoot应用的配置文件 

PS:需要完整版笔记,请评论留下邮箱,我看到后回发给你PDF完整版记录~~~

点击查看分版笔记目录:

【SpringBoot】最新版2019Spring Boot快速入门(速成SpringBoot)——学习笔记版解析【1】
【SpringBoot】最新版2019Spring Boot配置解析,源码解析(速成SpringBoot)——学习笔记版【2】
【SpringBoot】最新版2019Spring Boot之WEB开发——Thymeleaf模板引擎速成(速成SpringBoot)——学习笔记版解析【3】
【SpringBoot】最新版2019Spring Boot之MVC功能,异常处理,servlet容器(速成SpringBoot)——学习笔记版解析【4】
【SpringBoot】最新版2019Spring Boot之连接数据库——JDBC,MyBATIS,分页,MyBatis­Plus(速成SpringBoot)——学习笔记版解析【5】

猜你喜欢

转载自blog.csdn.net/OrangeChenZ/article/details/87361950