乐趣区

关于java:Java面试如何理解Spring-Boot中的Starter

一个工作了 3 年的 Java 程序员,遇到一个 Spring Boot 的问题。

他对这个问题有一些理解,然而答复得不是很好,心愿参考我的高手答复。

这个问题是:“如何了解 Spring Boot 中的 Starter”。

对于这个问题,看看普通人和高手的答复。

普通人:

嗯。。。。。。。。。。。。。

高手:

Starter 是 Spring Boot 的四大外围性能个性之一,除此之外,Spring Boot 还有主动拆卸、Actuator 监控等个性。

Spring Boot 外面的这些个性,都是为了让开发者在开发基于 Spring 生态下的企业级利用时,只须要关怀业务逻辑,

缩小对配置和外部环境的依赖。

其中,Starter 是启动依赖,它的次要作用有几个。

  1. Starter 组件以性能为纬度,来保护对应的 jar 包的版本依赖,

    使得开发者能够不须要去关怀这些版本抵触这种容易出错的细节。

  2. Starter 组件会把对应性能的所有 jar 包依赖全副导入进来,防止了开发者本人去引入依赖带来的麻烦。
  3. Starter 外部集成了主动拆卸的机制,也就说在程序中依赖对应的 starter 组件当前,

    这个组件主动会集成到 Spring 生态下,并且对于相干 Bean 的治理,也是基于主动拆卸机制来实现。

  4. 依赖 Starter 组件后,这个组件对应的性能所须要保护的内部化配置,会主动集成到 Spring Boot 外面,

    咱们只须要在 application.properties 文件外面进行保护就行了,比方 Redis 这个 starter,只须要在 application.properties

    文件外面增加 redis 的连贯信息就能够间接应用了。

在我看来,Starter 组件简直完满的体现了 Spring Boot 外面约定优于配置的理念。

另外,Spring Boot 官网提供了很多的 Starter 组件,比方 Redis、JPA、MongoDB 等等。

然而官网并不一定保护了所有中间件的 Starter,所以对于不存在的 Starter,第三方组件个别会本人去保护一个。

官网的 starter 和第三方的 starter 组件,最大的区别在于命名上。

官网保护的 starter 的以 spring-boot-starter 结尾的前缀。

第三方保护的 starter 是以 spring-boot-starter 结尾的后缀

这也是一种约定优于配置的体现。

以上就是我对这个问题的了解。

总结

在技术的学习过程中,我认为“为什么是”比“是什么”要重要。

以这种形式来学习,带来的益处就是对技术了解会更加粗浅。

这道题考查的就是“为什么是”,不难,关键在于本人的了解。

如果你喜爱这篇文章,记得点赞和珍藏。

如果想取得一对一的面试领导以及面试材料,能够私信我。

版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自 Mic 带你学架构
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!

退出移动版