北京校区

Java面试题,大厂面试官问:什么是Spring?这么回答直接通过!

推荐

  大家别看这个问题简单,但越是细节、基础的问题,大厂面试官就爱问。如果面试官问你:什么是Spring?你这样回答,他就会对你很满意!比较官方的回答:Spring是一个开源的Java框架平台,为容易快速开发出耐用的Java应用程序提供了全面的基础设施。面试时不光例子要说的形象易懂,书本上的解释也要会两句。那什么是框架呢?比如建一座房子,房子的地基、承重墙、房顶就是一个房子的框架。

什么是Spring

  框架有什么特点呢?就是必须完善,经不起错误,因为房子建好以后,地基承重墙就不可能再改动了。框架建好以后就可以在里面工作,比如铺地板、粉刷墙面、布置家具等。房子里面有什么特点呢?就是容错率高,灵活性强,符合实际场景,也就是说这个模块做坏了,删掉重新做就可以。

  那么什么是实际场景呢?其实再完美的房子框架,没有装修,没有家具的话,也不适合住人。所以,spring再强大也必须要符合企业的实际需求,经过程序开发才可以。框架可以理解成软件的半成品,能帮你做一些基础性的工作,来定制适合自己的应用程序,使用稳定灵活的框架,以适用不同的软件需求。开发中的bug是难以预测的,spring有全球最大的开发者社区,有无数个开发者和项目,其实早就把你可能会出现的bug,解决过N遍了,所以Spring框架是非常完善的。

  Spring是一个主流的Java Web开发框架,这是一个非常轻量级的基础版本,有两兆左右,具有很高的凝聚力和吸引力,对一些主流的web应用都有很好的支持。spring框架,也因为其强大的功能和卓越的性能受到很多开发者的喜爱。spring的优势有很多,小源就拿两个比较重要的来说:

  第一是非侵入式设计,它可以使应用程序对代码框架的依赖最小化。那么什么是侵入性呢?我们的项目就像一个库房,各个程序员就像是运输司机,侵入式就是要求运输司机库房里的布局结构,知道怎么进入库房,放到哪个货架等等。坏处也是显而易见,你说这么多司机,进进出出难免会造成磕碰、损坏、拥堵。在代码中,需要所有程序知道类的结构,包括有多少实现类,继承关系是怎样的,甚至可以修改内部代码。这个非入侵式就是让司机只需将货物,放到库房门口的传送带上,而无需关心库房里边是什么结构啊?库房里边的操作都是由spring来完成的。

  第二是方便解耦简化开发。spring就是一个大工厂,可以将所有的对象的创建和依赖关系的维护都交给spring管理,大大降低了组件与组件之间的耦合性。那什么是耦合性呢?程序开发中有个原则叫高内聚,低耦合。小源举个简单的例子,人与机器人,人就是一个耦合度极高的事物,有句话说牵一发动全身,如果大脑、心脏甚至人体任何部分出了问题,都可能让整个对象GC。对象就是我们,GC就是被回收。

  所以人体各个部件的耦合度是极高的,但是机器人哪里坏了换哪里,而且就算把机器人头卸下来,也不影响其他功能的运行,这就是解释了什么叫高内聚,就是各个对象负责自己的任务。机器人的手臂卸下来依然可以独立工作,而不像人呢,需要依赖整体。

上一篇

Java程序员如何度过35岁职业危机?程序员到30岁该何去何从?

下一篇

本科生考研还是做Java程序员?初级程序员工资是多少?

相关文章

我已阅读并同意《千锋教育用户隐私协议》