SpringBoot

本文详细介绍了SpringBoot的运行原理,包括pom.xml的配置、主启动类的运行过程,尤其是自动装配的实现机制,揭示了SpringBoot如何通过@EnableAutoConfiguration注解和spring.factories文件自动配置组件。
摘要由CSDN通过智能技术生成

目录

一、为什么使用SpringBoot

二、SpringBoot 运行原理

1.1. pom.xml 

2.2. 主启动类的配置

总结 

3.3. 主启动类的运行 

执行run()方法 

1. 获取、启动运行过程监听器

三、自动装配原理


一、为什么使用SpringBoot

SpringBoot是一种基于Spring框架的快速开发应用程序的工具,下面是使用Spring Boot的好处

①快速开发

②简化配置

③微服务支持

④生态系统支持

⑤易于维护

二、SpringBoot 运行原理

1.1. pom.xml 

spring-boot-dependencies: 核心依赖在父工程中;
springboot-boot-starter-xxx:就是spring-boot的场景启动器
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件;
SpringBoot将所有的功能场景都抽取出来,做成一个个的starter (启动器),只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 , 我们要用什么功能就导入什么样的场景启动器即可 ;我们未来也可以自己自定义 starter;

2.2. 主启动类的配置

即是标注着@SpringBootApplication注解并且有着main()方法的类

//@SpringBootApplication 来标注一个主程序类
//说明这是一个Spring Boot应用
@SpringBootApplication
public class SpringbootApplication {
   public static void main(String[] args) {
     //以为是启动了一个方法,没想到启动了一个服务
      SpringApplication.run(SpringbootApplication.class, args);
   }
}

@SpringBootApplication

作用:

        标注在某个类上说明这个类是SpringBoot的主配置类 , SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
进入这个注解:可以看到上面还有很多其他注解! 

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
    // ......
}

  @ComponentScan

这个注解在Spring中很重要 ,它对应XML配置中的元素。
作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中

 @SpringBootConfiguration

作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类; 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值