java基础---1.springboot原理初探

原理初探

自动配置

pom.xml

  • spring-boot-dependencies
  • 我们在写入或引入一些springboot依赖的时候,不需要指定版本,就因为有这些版本仓库

启动类

  • <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    
  • 启动类:说白了就是springboot的启动场景

  • 比如说spring-boot-starter-web,他就会帮我们自动导入web环境所有的依赖!

  • springboot会将所有的功能场景,变成一个个的启动器

  • 我们需要什么功能,就只需要找到对应的启动器 starter

主程序

// @SpringBootApplication : 标注的这个类是一个springboot的应用
@SpringBootApplication
public class SpringbootApplication {

    public static void main(String[] args) {
        // 将springboot应用启动
        SpringApplication.run(SpringbootApplication.class, args);
    }

}
  • 注解

    • 
      

谈谈SpringBoot的理解

  • 自动装配
    • 告诉他怎么加载
    • 约定大于配置
  • run()
    • 1、判断是普通项目还是web项目
    • 2、查找并加载所有的可用初始化器,设置到initializers属性中
    • 3、找出所有的应用程序监听器,设置到listeners属性中—获取上下文 处理—全面接管springmvc配置 扩展它
    • 4、推断并设置main方法的定义类,找到运行的主类

全面接管springmvc的配置!实操!

springboot怎么启动的

面试官问你你可以这样说,springboot是通过main方法下的SpringApplication.run方法启动的,启动的时候他会调用refshContext方法,先刷新容器,然后根据解析注解或者解析配置文件的形式注册bean,而它是通过启动类的SpringBootApplication注解进行开始解析的,他会根据EnableAutoConfiguration开启自动化配置,里面有个核心方法ImportSelect选择性的导入,根据loadFanctoryNames根据classpash路径以MATA-INF/spring.factorces下面以什么什么EnableAutoConfiguration开头的key去加载里面所有对应的自动化配置,他并不是把这一百二十多个自动化配置全部导入,在他每个自动化配置里面都有条件判断注解,先判断是否引入相互的jar包,再判断容器是否有bean再进行注入到bean容器

面试官为你可以这样说,springboot是通过main方法下的SpringApplication

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值