前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring就是做了一个外包公司的工作?

Spring就是做了一个外包公司的工作?

作者头像
JAVA葵花宝典
发布2021-04-23 11:41:52
4860
发布2021-04-23 11:41:52
举报
文章被收录于专栏:JAVA葵花宝典JAVA葵花宝典

Spring做为Pivotal所维护的一个开源框架,相信很多程序员在学习Spring的时候都会一筹莫展。其实Spring常规的主要内容就是IOC,AOP,DI还有包括可能会出现的一些问题。比如Spring三级缓存以及循环依赖。不过,当面试官让你你谈一谈对Spring的理解。可能大部分人就会束手无策。“他不就是一个基础框架吗?”还能有什么理解?


实际上,在我看来,Spring就是做了一个外包公司的工作。为什么这样理解?

Spring的核心功能就是简化企业级应用开发。而这个简化的过程,他用了非常多的手段。例如:

解耦:为了完成这个功能。他会有一个容器的概念,而这个容器,将它设想为一家外包公司。原本是公司与项目直接进行耦合,而现在多了个第三方,公司与项目之间没有耦合了,耦合的是第三方。

而在我们的java语言当中,由于缺少了欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。其实,这也算是模板模式思想的一种设计体现。但并不是说他就是模板模式。比如get,set等方法。

那么这个时候我们Spring容器本质上是管理这些Bean对象的。他是去生成以及创建这些对象的。那么怎么去管理呢?

这个时候可以创建一个名为BeanFactory的容器。用来生产与创建相关的对象。这不就是一个外包公司所做的事情吗?

在大部分互联网公司当中,也充分利用了这样的逻辑,为了减轻负重,会将大量的重复劳动力推到外包公司手上,甚至将项目整包出去。所以,甲方公司不用考虑项目基本完成之后的工作,只需要留下其中一两个人做老项目的维护,其他人的裁撤是不需要劳动成本的,比如赔付N+1。

来说说AOP作为Spring框架的核心思想,类比起来,无非就是为了让Spring能够适用更多的甲方公司的通用功能模板。

最后包括DI作为实现IOC实现的方式与手段,实际上也可以类比为:外包公司为了适配人员的流动性所设计的一个方案。

作为技术人,最需要的是对技术的个人理解,在与面试官博弈的时候,如果对某个技术能够与面试官攀谈技术的深度和理解能力,相信要拿住Offer将会非常轻松。

最后拿出收藏已久的珍藏福利,需要的同学可以扫后面的二维码自行领取,不需要的同学也可以收藏一份以备不时之需。

大厂面试题库

简历模板

技术文档

电子书

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA葵花宝典 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档