粉丝4.5万获赞32.2万



一个工作了四年的小伙伴啊,他说他从线下培训就开始接触了 spring, 到现在已经快五年时间了,他从来没有想过为什么要使用 spring 框架,结果在面试的时候啊,突然遇到这样个问题,大脑一时间短路了,来求助我, 这一类问题应该怎么去回答呀?下面我们来看看普通人和高手的回答。普通的回答,呃,为什么要使用什么框架啊?我认为, 呃,可以,就是他核心嘛,就是有 app 和 lc 这两个组件嘛,那么他能够去帮我们在程序里面去做一些 啊,就是对象的管理啊,比如说病的管理,那么我们的这个程序的就是去构建这种对象的时候,他的偶和性就会更低了,因为他统一相对一个容器嘛,嗯,然后, 然后就是他他本身是类似于这种就是粘合剂的一个作用,就他可以帮我们把很多的框架集成进来,对我们来说就是,嗯,整个的开发就是做外部开发来说,做前期开发来说就是更加方便了,就是给我们提供了很多的一些便捷吧。嗯, 高手的回答, spring 呢是一个轻量级的应用框架啊,他提供了 ioc 和 aop 这两个核心的功能,他的核心目的呢,是为了简化企业级的应用开发,使得开发者呢只需要关心业务的需求,不需要关心病的一些管理,以及通过切片的方式对功能进行增强,从而去减少代码的一个侵入性。 从 spring 本身的一个特性来看呢,我认为啊,有几个关键点。首先第一个啊, spring 是一个轻量级的框架,它的基本版本呢只有两兆。第二个呢, spring 通过 ioc 的容器来就实现了病的生 周期的一个管理,以及通过 di 来实现依赖注入,从而去实现了对象依赖的松偶和的一个管理。第三个啊, spring 提供了 aop 的面相切面编程这样一个功能, 他可以把我们的业务逻辑和系统功能之间进行一个切分。第四个是一个 mvc 的框架,市面 mvc 呢,提供的功能更加强大且更加灵活的一个外部框架的一个知识。第五个是事物管理啊, spring 通过 aop 能去实现的一个事物的统一管理,对应用开发中的事物处理呢,提供一个非常灵活的一个知识的一个特性。 最后呢, siri 从第一个版本发布到现在,他的整个生态是非常庞大的,在业务开发的领域里面呢, siri 生态几乎提供了非常完善的一个支持, 更重要一个点是,他的整个社区的活跃度和技术的成熟度都非常的高,所以我们在遇到问题的时候能够得到快速的一个响应。以上就是我对这个问题的一个理解,任何一个 就是框架一定是为了解决某些特定场景问题的,只是大家忽略了这个点,为什么要用再往高一点来说,其实就是技术的选型,能回答这个问题,意味着在面对业务场景或者技术问题的解决方案上会有自己的见解和思考。所以啊,我自己也喜欢去在面试的时候问这一类的问题。 好的,本期的普通人 vs 高手的面试系列视频就到这结束了,有任何不懂的技术面试题,欢迎随时私信我。另外,三月份的面试文档已经整理好了,需要的 可以在主页上加我微领取。我是麦克,一个工作的十四年的加我程序员,咱们下期再见。