SpringBoot入门简介

SpringBoot简介

1.什么是SpringBoot

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

SpringBoot所具备的特征有:

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

2.SpringBoot快速入门
1.创建SpringBoot工程的四种方式
  1. 基于Idea创建SpringBoot工程
  2. 基于官网创建SpringBoot工程
  3. 基于阿里云创建SpringBoot工程
  4. 手工创建Maven工程修改为SpringBoot工程(一般不用)

①基于Idea创建SpringBoot工程

需要对idea进行联网,其实和从Spring官网创建性质一样

在这里插入图片描述

在这里插入图片描述

②基于官网创建SpringBoot工程

步骤:

  1. 打开SpringBoot官网(https://start.spring.io/),选择Quickstart Your Project
  2. 创建工程,并保存项目
  3. 解压项目,通过IDE导入项目

在这里插入图片描述

③基于阿里云创建SpringBoot工程

基于阿里云创建项目,地址:https://start.aliyun.com

注意事项:

  • 阿里云提供的坐标版本较低,如果需要使用高版本,进入工程后手工切换SpringBoot版本
  • 阿里云提供的工程模板与Spring官网提供的工程模板略有不同

步骤:

  1. 选择start来源为自定义URL
  2. 输入阿里云start地址
  3. 创建项目

在这里插入图片描述

④手工创建SpringBoot工程

手工导入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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
</parent>
<groupId>com.itheima</groupId>
<artifactId>springboot_01_03_quickstart</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2.编写controller
package com.sangyu.controller;

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

/**
 * @author sangYu
 * @date 2023/3/23
 */
@RestController
@RequestMapping("/books")
public class MyController01 {
    @GetMapping
    public String test01(){
        System.out.println("SpringBoot.......");
        return "SpringBoot.......";
    }
}

3.运行
package com.sangyu;

import com.sangyu.controller.MyController01;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class SpringBoot01Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringBoot01Application.class, args);
//        MyController01 bean = run.getBean(MyController01.class);
//        System.out.println("bean========>" + bean);
//        //会自动扫描注解,使当前包下的注解生效,创造bean,寻找bean
//        User bean1 = run.getBean(User.class);
//        System.out.println("bean========>" + bean1);
    }

}

成功跑起来了

在这里插入图片描述

3.入门程序工作原理
1.parent(仅定义,未使用)

开发SpringBoot程序要继承spring-boot-starter-parent

spring-boot-starter-parent中定义了若干个依赖管理

继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突

继承parent的形式也可以采用引入依赖的形式实现效果

2.starter(解决配置问题)

​ 1.开发SpringBoot程序需要导入坐标时通常导入对应的starter

​ 2. 每个不同的starter根据功能不同,通常包含多个依赖坐标

​ 3. 使用starter可以实现快速配置的效果,达到简化配置的目的

  • starter
    • SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
  • parent
    • 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
    • spring-boot-starter-parent各版本间存在着诸多坐标版本不同
  • 实际开发
    • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
    • 如发生坐标错误,再指定Version**(要小心版本冲突)**
3.引导类

​ 1.SpringBoot工程提供引导类用来启动程序

​ 2. SpringBoot工程启动后创建并初始化Spring容器

  • SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目 (未启动Web服务器)
  • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean
4.辅助功能(内嵌tomcat)

​ 1. 内嵌Tomcat服务器是SpringBoot辅助功能之一

​ 2. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理

​ 3. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器

使用maven依赖管理变更起步依赖项

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!--web起步依赖环境中,排除Tomcat起步依赖-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
</dependencies>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢木木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值