【springboot 46】Creating Your Own Auto-configuration

1.jar文件

jar文件采用zip压缩格式存储,凡是能解压zip压缩文件的都可以解压jar包

2.demo-0.0.1-SNAPSHOT.jar和demo-0.0.1-SNAPSHOT.jar.original

.jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
.jar.original 是普通jar包,不包含依赖

3.JarLauncher和WarLauncher

  • JarLauncher 可执行Jar文件启动器
  • WarLauncher是可执行费War文件启动器

4.spring-boot-starter-parent

这是Spring Boot的父级依赖,这样当前的项目就是Spring Boot项目了。
spring-boot-starter-parent 是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。

5.Reactive Web容器(spring boot 2.0)

  • UndertowServletWebServer,Jetty,Tomcat都可以作为Reactive web容器
  • spring-boot-starter-webflux和spring-boot-starter-web是冲突的。

6.自动装配

@SpringBootApplication等同于

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan
⑴SpringBootConfiguration

这个注解实际上就是代表了一个配置类,相当于一个beans.xml文件

⑵EnableAutoConfiguration(重点)

@Enablexxx的注解是开启某一项功能的注解,比如@EnableScheduling表示开启spring的定时任务。其原理是借助@Import的帮助,将所有符合自动配置条件的bean定义加载到Ioc容器
EnableAutoConfiguration代表开启springboot的自动装配。

⑶ComponentScan

动扫描并加载符合条件的组件或bean定义,最终将这些bean定义加载到容器中

你可能感兴趣的:(JAVA基础)