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入门简介_第2张图片

②基于官网创建SpringBoot工程

步骤:

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

SpringBoot入门简介_第3张图片

③基于阿里云创建SpringBoot工程

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

注意事项:

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

步骤:

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

SpringBoot入门简介_第4张图片

④手工创建SpringBoot工程

手工导入xml依赖


<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.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.5.4version>
parent>
<groupId>com.itheimagroupId>
<artifactId>springboot_01_03_quickstartartifactId>
<version>1.0-SNAPSHOTversion>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
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);
    }

}

成功跑起来了

SpringBoot入门简介_第5张图片

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依赖管理变更起步依赖项


    
        org.springframework.boot
        spring-boot-starter-web
        
        
            
                org.springframework.boot
                spring-boot-starter-tomcat
            
        
    
    
    
        org.springframework.boot
        spring-boot-starter-jetty
    

你可能感兴趣的:(Spring,spring,boot,java,spring)