三SpringBoot2核心技术——SpringBoot特点

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三SpringBoot2核心技术——SpringBoot特点相关的知识,希望对你有一定的参考价值。

一、SpringBoot特点

1.1、依赖管理

  • 父项目做依赖管理
   <!-- 依赖管理 -->
   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.5.0</version>
   </parent>
   <!-- 它的父项目 -->
   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-dependencies</artifactId>
       <version>2.5.0</version>
   </parent>
   <!-- 几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制 -->

在这里插入图片描述

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>2.5.0</version>
      <scope>compile</scope>
    </dependency>
  • 无需关注版本号、自动版本仲裁
  1. 引入依赖默认都可以不写版本
  2. 引入非版本仲裁的jar,要写版本号
  • 可以修改默认版本号
  1. 查看spring-boot-dependencies里面规定当前依赖的版本,用的key。
  2. 在当前项目里面重写配置
    <properties>
        <mysql.version>5.1.43</mysql.version>
    </properties>

1.2、自动配置

  • 自动配好 Tomcat

    • 引入Tomcat依赖
    • 配置Tomcat
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.5.0</version>
      <scope>compile</scope>
    </dependency>
  • 自动配好SpringMVC

    • 引入SpringMVC全套组件
    • 自动配好SpringMVC常用组件(功能)
      在这里插入图片描述
  • 自动配好web常见功能,如:字符编码问题

    • SpringBoot帮我们配置好了所有web开发的常见场景
  • 默认的包结构
    官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.structuring-your-code.using-the-default-package
    在这里插入图片描述

    • 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来。
    • 无需以前的包扫描配置
    • 想要改变扫描路径。@SpringBootApplication(scanBasePackages = “com.xbmu”) 或者 @ComponentScan指定扫描路径。
    @SpringBootApplication
    等同于
    @SpringBootConfiguration
    @EnableAutoConfiguration
    @ComponentScan("com.xbmu")
    
  • 各种配置拥有默认值

    • 默认配置最终都是映射到某个类上,如:MultipartProperties
    • 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
  • 按需加载所有自动配置项

    • 非常多的starter
    • 引入了哪些场景这个场景的自动配置才会开启
    • SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
package com.xbmu;

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

/**
 * 主程序类
 * @SpringBootApplication : 这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        // 1.返回IOC容器
        ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
        // 2.查看容器里面的组件
        String[] names = run.getBeanDefinitionNames();
        for (String name : names) {
            System.out.println(name);
        }
    }
}

在这里插入图片描述

以上是关于三SpringBoot2核心技术——SpringBoot特点的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot2核心技术(基础入门)- 02SpringBoot2入门安装配置

Spring Boot 2系列教程

二SpringBoot2核心技术——SpringBoot入门

二SpringBoot2核心技术——SpringBoot入门

八SpringBoot2核心技术——web开发(静态资源访问)

八SpringBoot2核心技术——web开发(静态资源访问)