SpringBoot快速入门

Posted 陌星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot快速入门相关的知识,希望对你有一定的参考价值。

SpringBoot简介

SpringBoot就是一个JavaWeb的开发框架,和SpringMVC类似,对比其他JavaWeb框架的好处,简化开发,约定大于配置,能迅速的开发web应用,几行代码开发一个Http接口。

随着Spring的不断发展,设计的领域越来越多,项目整合开发需要配合各种哥样的文件,慢慢变得不那么易用简单,违背了最初的理念,甚至人称“配置地狱”。SpringBoot正是在一个这个的背景下被抽象出来的开发框架,目的是为了让大家更容易的使用Spring、更容易的集成各种常用的中间件、开源软件;

SpringBoot基于Spirng开发,SpringBoot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一基于Spirng框架的应用程序,和Spring框架紧密结合用于提升Spring开发者体验的工具。SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它继承了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz等等),即零配置的开箱即用。

简单来说,就像是maven整合了所有的jar包,SpringBoot整合了所有的框架。

Spring Boot的主要优点:

  • 为所有的Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

编写第一个SpringBoot程序

SpringBoot能够简化配置文件,就好像Spring的升级版,原来很多东西需要手动配置,现在只需要自动配置即可!

编写步骤

1、使用IDEA构建一个SpringBoot程序

2、填写Mavne基本信息

3、勾选启动器,勾选这个相当于帮你自动配置好了Spring和SpringMVC!包括Tomcat;

4、完成之后,等带Maven自动下载所有的依赖即可,第一次有点慢!

最终如下图:

我们来写一个程序测试一下:

1、一定要在Spring主启动类的同级或者子级目录下新建包否则识别不了!

2、新建一个controller包

3、在这个包下新建一个HellController类

package com.star.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "Hello,World!";
    }
}

4、启动主启动类,访问测试:http://localhost:8080/hello

自定义banner

我们可以自定义启动Logo,可以看到启动的默认Logo为Spring!

自定义步骤:

1、我们在resource目录下新建一个banner.txt,在这里面写入自己的banner即可

2、在线网站生成:https://www.bootschool.net/ascii

3、启动测试看下效果

SpringBoot是如何启动的?

新建的SpringBoot项目中,都有一个主启动类

package com.star;

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

@SpringBootApplication// 只要标注了这个注解就代表使SpringBoot的应用
public class SpringbootApplication {

    //main方法开启了一个服务
    public static void main(String[] args) {
        //Spring的启动类,通过run方法来具体执行
        SpringApplication.run(SpringbootApplication.class, args);
    }

}

关于SpringBoot原理的详细讲解: https://www.cnblogs.com/lmx-181028/p/12411058.html

依赖如何配置?

我们没有配置tomcat,没有配置servlet,没有配置spring,这个是怎么生效的?

SpringBoot默认有一个pom.xml

父依赖:

    <!--父依赖
    spring-boot-starter-parent 父启动类
    -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

  <!--点进源码后发现如下的父依赖-->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.1.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
  </parent>
  <!--点进源码可以看到很多依赖-->

父依赖作用分析:

1、自动帮助我们管理依赖,里面包含了几乎常用的所有依赖,如果你需要的依赖在这里有,就不用再配置了,如果没有再配置

2、插件和资源过滤的自动管理

启动器:

    <!--依赖-->
    <!--再这里写的依赖都不需要版本号,只要在父依赖中有即可!-->
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    
    <!--spring-boot-starter-xx 场景启动器,导入对应场景所需要的类
        会自动帮你导入封装了这个场景所需要的依赖
    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

所有的启动器:https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/html/using-spring-boot.html#using-boot

以上是关于SpringBoot快速入门的主要内容,如果未能解决你的问题,请参考以下文章

SpringData 基于SpringBoot快速入门

SpringBoot -- 概述和快速入门快速构建SpringBoot工程

SpringBoot快速入门

Java 微服务 乐优网络商城 day01 源代码 SpringBoot的SpringMVC快速入门

快速入门:创建第一个SpringBoot工程

快速上手SpringBoot盘点盘点入门程序制作的四种方式(有图有代码)