1.SSM三大框架和SpringBoot有什么区别?
答:SpringBoot是整个Spring技术栈的一个大整合,SpringBoot将原有的xml配置,简化为java注解的形式,而且SpringBoot有内置的tomcat服务器,可以以jar形式启动一个服务,可以快速部署发布web服务,而且使用idea可以很方便的搭建一个SpringBoot项目,选择对应的maven依赖,简化Spring应用的初始搭建以及开发过程,并且SpringBoot使用starter依赖自动完成bean配置,解决bean之间的冲突,并引入相关的jar包。
2.SpringBoot自动配置原理?
答:SpringBoot启动的时候加载主配置类,也就是加载了@SpringBootApplication这个注解,开启了自动配置功能。然后里面有一个@EnableAutoConfiguration这个注解,这个注解主要利用了一个EnableAutoConfigurationImportSelector选择器类给Spring容器中来导入一些组件。然后这个选择器类的父类有一个selectImports方法,这个方法里面有个configurations,并且这个configurations最终会被返回,这个configurations方法的作用就是利用SpringFactoriesLoader.loadFactoryNames从类路径下得到一个资源,它是扫描所有jar包类路径下的META-INF/spring.factories这个文件,把这个文件的urls拿到之后并把这些urls每一个遍历,最终把这些文件整成一个properties对象。然后它从properties对象里边获取一些值,把这些获取到的值来加载我们最终要返回的这个结果,这个结果就是我们要交给Spring容器中的所有组件