day128-spring boot依赖管理特性与自动配置特性

发布时间 2023-11-04 21:52:34作者: 北海之上

spring boot依赖管理特性

父项目做依赖管理

依赖管理:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
   
  其父项目:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
   
  作用:声明了开发中所常用的所有依赖的版本号,自动仲裁版本机制

 

开发导入starter场景启动器

  1. 所有的spring boot场景依赖以spring-boot-starter-*. 其中 * 代表场景

  2. 引入starter后,此场景的所有常规依赖都自动注入

  3. 第三方提供的简化开发场景: *-spring-boot-starter

版本的自动仲裁

引入依赖可以不写版本号

引入非版本仲裁的jar时,需要写版本号

版本号的修改

  1. 可以查看spring boot dependencies 里面规定的当前版本所使用的依赖版本

  2. 在当前项目中重写配置

<properties>
<mysql.version>5.1.43</mysql.version>
</properties>

IDEA快捷键:

  • ctrl + shift + alt + U:以图的方式显示项目中依赖之间的关系。

  • alt + ins:相当于Eclipse的 Ctrl + N,创建新类,新包等。

springboot自动配置特性

 

  • 自动配好Tomcat

    • 引入Tomcat依赖。

    • 配置Tomcat

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>compile</scope>
</dependency>
  • 自动配好SpringMVC

    • 引入SpringMVC全套组件

    • 自动配好SpringMVC常用组件(功能)

  • 自动配好Web常见功能,如:字符编码问题

    • SpringBoot帮我们配置好了所有web开发的常见场景

可以在main程序中查看容器中配置的组件

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);
  }
}

默认的包结构

  • 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来

  • 无需以前的包扫描配置

  • 想要改变扫描路径

    • @SpringBootApplication(scanBasePackages="com.lun")

    • @ComponentScan 指定扫描路径

    • @SpringBootApplication 等同于 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan("com.lun")

    •