SpringBoot学习笔记DAY 1

springboot特点

1.1依赖管理

pom.xml中引入了springboot的父项目,用来做依赖管理,声明许多依赖,子项目继承依赖,就不需要写版本号

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

ctr+回车进入父项目

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.4.2</version>
  </parent>

ctr+回车再进入父项目,会发现声明了许多开发中常用的jar的版本号,称为自动版本仲裁机制

	.....
	<jakarta-activation.version>1.2.2</jakarta-activation.version>
    <jakarta-annotation.version>1.3.5</jakarta-annotation.version>
    <jakarta-jms.version>2.0.3</jakarta-jms.version>
    <jakarta-json.version>1.1.6</jakarta-json.version>
   ....

若需要改变版本,需要去maven仓库找到想要的版本号,在pom.xml文件中写如下配置,就可以更新版本

<properties>
	<xxx.version>XXXXXX</xxx.version>
</properties>

开发导入各种starter(启动器)

1.引入一个starter,这个场景的所有常规需要的依赖我们都自动引入
2.官方starter命名形式为spring-boot-starter-xxx
3.第三方starter命名形式为 xxx-spring-boot-starter
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

1.2自动配置

  • 自动配好Tomcat

  • 自动配好SpringMVC

  • 自动配好web常见功能

  • 默认的包结构,主程序所在的包及其子包,都会被扫描

  • 想要改变扫描路径,使用@SpringBootApplication(scanBasePackages=“com.xxxx”),或者使用@ComponentScan指明扫描路径

  • @SpringBootApplication : 是Sprnig Boot项目的核心注解,目的是开启自动配置

  • @SpringBootApplication
    等同于
    @SpringBootConfiguration
    @EnableAutoConfiguration
    @ComponentScan("com.xxxx")
    
  • 各种配置拥有默认值

    • 默认配置最终都是映射到某个类上,如:MultipartProperties

    • 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象,如

    • application.properties
      
      mycar.brand = BYD
      mycar.price = 666666
      
    • 按需加载所有自动配置项

      • 非常多的starter
      • 引入了哪些场景这个场景的自动配置才会开启
      • SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
      • 在这里插入图片描述

版权声明:本文为TRK_YX原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。