Java面试之框架篇-Springboot面试小结
SpringBoot框架:
***SpringBoot是Spring4. 0之后的一个自动配置,快速启动的框架。采用习惯优于配置的理念,可以进行自动化配置的EnableAutoConfigration,框架采用注解+properties代替传统的XML的配置,极大的提高了开发效率。
SpringBoot的优点:
1)快速创建项目;
2)对主流开发框架的无配置集成;
3)项目可独立运行,无需外部依赖Servlet容器;
4)提供运行时的应用监控;
5)极大的提高了开发,部署效率;
6)与云计算天然集成。
SpringBoot执行流程:
使用SpringApplication.run()启动,在该方法所在类添加@SpringBootApplication注解,该注解由@EnableAutoConfigration和@ComponentScan等注解组成。@EnableAutoConfigration自动加载Spring配置和依赖包,默认使用@CompnentScan扫描当前包及子包中的所有类,将有Spring注解的类交给Spring容器。
SpringBoot底层实现原理:
使用maven父子包的依赖关系加载相关Jar包,使用Java操作Spring的初始化过程生成class文件,然后用Java创建tomcat服务器加载这些class文件。
SpringBoot装配Bean的原理:通过@EnableAutoConfiguration自动获取配置类信息,使用反射实例化为Spring类,然后加载Spring容器。
SpringBoot自动配置的原理:
Spring-Boot-autoconfigure,jar包下的meta-inf文件夹下,Springfactories配置文件提供的各种技术框架的默认配置。
自动配置类的源码,比如:webmvcautoconfiguration,自动配置里指定的dispatcherservlet,请求路径为“/”,指定了处理器映射器requestMappingHandlerMapping等组件的配置。