面试官:如何理解Spring Boot中的Starter?
一个工作了7年的Java程序员,遇到一个Spring Boot的问题。他对这个问题有一些了解,但是回答得不是很好,希望参考我的高手回答。这个问题是:“如何理解Spring Boot中的Starter”。对于这个问题,看看普通人和高手的回答。普通人:嗯。。。。。。。。。。高手:Starter是Spring Boot的四大核心功能特性之一,除此之外,Spring Boot还有自动装配、Actuator
一个工作了7年的Java程序员,遇到一个Spring Boot的问题。
他对这个问题有一些了解,但是回答得不是很好,希望参考我的高手回答。
这个问题是:“如何理解Spring Boot中的Starter”。
对于这个问题,看看普通人和高手的回答。
普通人:
嗯。。。。。。。。。。
高手:
Starter是Spring Boot的四大核心功能特性之一,除此之外,Spring Boot还有自动装配、Actuator监控等特性。
Spring Boot里面的这些特性,都是为了让开发者在开发基于Spring生态下的企业级应用时,只需要关心业务逻辑,
减少对配置和外部环境的依赖。
其中,Starter是启动依赖,它的主要作用有几个。
- Starter组件以功能为纬度,来维护对应的jar包的版本依赖,
- 使得开发者可以不需要去关心这些版本冲突这种容易出错的细节。
- Starter组件会把对应功能的所有jar包依赖全部导入进来,避免了开发者自己去引入依赖带来的麻烦。
- Starter内部集成了自动装配的机制,也就说在程序中依赖对应的starter组件以后,
- 这个组件自动会集成到Spring生态下,并且对于相关Bean的管理,也是基于自动装配机制来完成。
- 依赖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结尾的后缀
这也是一种约定优于配置的体现。
以上就是我对这个问题的理解。
总结#
在技术的学习过程中,我认为“为什么是” 比 “是什么”要重要。
以这种方式来学习,带来的好处就是对技术理解会更加深刻。
这道题考察的就是“为什么是”,不难,关键在于自己的理解。
如果你喜欢这篇文章,记得点赞和收藏。
<< java面霸总结合集>>
大致内容包括了: 各类大小厂面经真题、Java八股文 集合、JVM、多线程、并发编程、设计模式、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、spring面试题、spring cloud面试题、spring boot面试题、spring教程 笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册一共整理了1184页PDF文档。
如需获取——点赞关注后私信(555)即可
更多推荐
所有评论(0)