SpringBoot介绍

  SpringBoot已成为当今最流行的微服务开发框架,它和spring 4一起诞生的,比如@RsetController可以快速上手,整合了一些子项目(包括开源框架和第三方代码库),直接引入就能用,帮你封装好了基于Spring ,容易快速入门,是Spring全家桶中的一员SpringBoot可以独立创建并运行应用而不依赖容器,就是说不需要打包成war包,可以放在tomcat中直接运行。

  

SpringBoot特点

  1. 基于Spring,使开发者入门简单,快速上手。

  2. Springboot可以创建独立的运行应用而不依赖容器。

  3. 不需要打包成war包,可以放入tomcat中直接运行。

  4. 配置Maven简单,但是会引入不需要的包根据项目依赖,去配置Spring,需要什么就配置什么,这样可扩展性也十分的强。

  5. 提供了一些可视化的功能,方便监控,比如性能,整个应用程序的健康程度,都可以通过可视化工具去查看。

  6. 简化配置,不需要更多的xml配置,SpringBoot通过很多的注解来实现和xml相同的功能。通过简单的配置可以让我们完成以前复杂的SSH配置。

  7. SpringBoot是为了SpringCloud铺路的,它整合了各式各样的框架来构建微服务,比如Dubbo,thrift等等。

  下图是截取官网对Spring Boot的特点说明

  

spring boot用的多吗 spring boot主要用途_spring

   Spring Boot只有一个产出,那就是jar包,会将Redis,tomcat等组件都会整合在一起,并随着程序的启动随之一起运行。

   默认情况下Spring Boot会做出它认为最优的配置。

   Spring Boot提供了相应的健康检查和监控,比如服务器负载,CPU负载,响应时间等服务器基本参数,这些对于线上问题分析十分有用。

习惯优于配置”的方式开发。 以前开发中会将所有的配置一个个写入到配置文件中,虽然这种方式粒度比较细,但是开发效率低,并且容易出错。Spring Boot就比较简单,它有它的约束和规定,不用代码生成和XML文件配置,而采用约定俗成的命名,文件结构,注解等进行的。

   

SpringBoot使用场景

  1. 有Spring的地方都可以。

  2. j2EE/web项目,比SpringMvc更容易上手。

  3. 微服务,SpringBoot是微服务的基础。

 

SpringBoot安装及上手使用

  可以使用官方提供的一个地址 https://start.spring.io/

   前置准备:

   1. JDK1.8及以上版本。

   2. 建议安装编辑器Intellj Idea Ultimate(旗舰版)。

   3. Maven和Spring MVC。

 

  Spring Boot流程

   1. 创建Maven工程,构建项目结构。

   2. 配置pom.xml文件,引用各种started启动器简化配置。

   3. 配置运行参数,安装预期去运行。

     4. 编码和测试。

   5. 打包,发布和独立运行。

 

   Spring Boot安装

   1. 创建Maven项目

    

spring boot用的多吗 spring boot主要用途_maven_02

     点击下一步,按照你自定义去填写就好。

    

spring boot用的多吗 spring boot主要用途_spring_03

     点击完成后,在resources目录中创建如下三个目录和文件,这几个文件目录是Spring Boot强制要求的。

    

spring boot用的多吗 spring boot主要用途_spring_04

  看下Spring Boot目录说明

  

spring boot用的多吗 spring boot主要用途_spring boot用的多吗_05

 

     Spring Boot所需要的依赖项

依赖项名称

说明

spring-boot-starter-parent

所有的Spring Boot组件基础应用

spring-boot-starter-web

对Spring Boot提供web功能支持

spring-boot-starter-thymeleaf

(可选)提供thymeleaf模板引擎支持

spring-boot-maven-plugin

提供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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.SprintBootExample</groupId>
    <artifactId>MySpringDemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

 

  <parent>标签表示基础的依赖包,在当前项目中不引用,而且parent中指定了version,下面依赖就不用指定,而会和parent的version同步。