1. springboot核心注解@SpringBootApplication,springboot怎么实现自动装配的?
@SpringBootApplication注解包含三个注解:
- @ComponentScan扫描当前包和子包中的组件,自动注册到ioc中
- @SpringBootConfiguration,它其实也是一个configuration,说明启动类也是一个配置类
- @EnableAutoConfiguration,这个注解是实现自动配置的最主要的注解。这个注解里包含**@AutoConfigurationPackage自动配置包**还有@import一个AutoConfigurationImportSelector.class。这个类中通过loadFactoryNames读取meta-inf中的spring。factories文件中自动装配的类。而这些类是pom文件中导入了start之后才能生效。这些类都是XXXautoconfiguration,中还绑定了有属性的xxx.properties,这些properties有一些默认的属性。我们也可以在配置文件yml或者properties中修改这些属性。
SpringApplication.run一共做了两件事
创建SpringApplication对象;在对象初始化时保存事件监听器,容器初始化类以及判断是否为web应用,保存包含main方法的主配置类。
调用run方法;准备spring的上下文,完成容器的初始化,创建,加载等。会在不同的时机触发监听器的不同事件。
2. 简单介绍⼀下 Spring?有啥缺点?
ioc和aop配置复杂
3. 为什么要有 SpringBoot?
自动装配,简便开发
4. 说出使⽤ Spring Boot 的主要优点
5. 什么是 Spring Boot Starters?
启动器,集成了依赖
https://blog.csdn.net/m0_51684972/article/details/110928657
6. Spring Boot ⽀持哪些内嵌 Servlet 容器?
7. 如何在 Spring Boot 应⽤程序中使⽤ Jetty ⽽不是 Tomcat?
- 开发 RESTful Web 服务常⽤的注解有哪些?
- Spirng Boot 常⽤的两种配置⽂件
yml和properties - 什么是 YAML?YAML 配置的优势在哪⾥ ?
- Spring Boot 常⽤的读取配置⽂件的⽅法有哪些?
- Spring Boot 加载配置⽂件的优先级了解么?
- 常⽤的 Bean 映射⼯具有哪些?
- Spring Boot 如何监控系统实际运⾏状况?
- Spring Boot 如何做请求参数校验?
16. 如何使⽤ Spring Boot 实现全局异常处理?
使用@ControlleAdvicer创建一个类,然后用exceptionHandle声明处理什么异常
17. Spring Boot 中如何实现定时任务 ?
导入quartz依赖,编写配置任务类,然后用@scheduled配置时间