1、SpringBoot starter 工作原理
1、SpringBoot 在启动时扫描项目依赖的 jar 包,寻找包含 spring.factories 文件的 jar
2、根据 spring.factories 配置加载 AutoConfigure
3、根据@Conditional 注解的条件,进行自动配置并将 bean 注入到 Spring Context
2、Springboot 的优点是什么?
1、减少开发、测试时间和努力
2、使用 JavaConfig 有助于避免使用 XML
3、避免大量的 maven 导入和各种版本冲突
4、提供意见发展方法
5、通过提供默认值快速开始开发
6、没有单独的 web 服务器需要,这就意味着不再需要启动 Tomcat、Glassfish 或其他任何
东西
7、需要更少的配置,因为没有 web.xml 文件。只需添加用@Configuration 注释的类,然后
添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。甚至可以将
@Autowired 添加到 bean 方法中,以使用 Spring 自动装入需要的依赖关系中
3、有没有自定义过 SpringBoot 的 stater?
有,项目中某些中间件的客户端(如 Redis、 ElasticSearch)会进行二次封装,并通过 starter 方式提供 jar 包,供大家使用。
一般定义 starter 包括下面几个子工程: - xxx-spring-boot-starter:pom 格式,管理当前 starter 中需要的各种依赖 - xxx-spring-boot-autoconfigure : jar 格 式 , 编 写 @Configuration 配 置 类 , 读 取 application.yml 文件,实现默认配置