zoukankan      html  css  js  c++  java
  • 10年架构师告诉你,他眼中的Spring容器是什么样子的

    相关文章

    如何慢慢地快速成长起来?

    成长的故事之Spring Core系列

    你是如何看待Spring容器的,是这样子吗?
    Spring的启动过程,你有认真思考过吗?(
    待写
    面向切面编程,你指的是Spring AOP吗?(
    待写
    Spring的声明式事务,这次你彻底明白了吧?(
    待写


    §如何提问,如何回答?

    记得大学时,思想道德修养课的老师说过,现在的大学生都不太会
    表达自己的观点。她举了这么个例子,如果你在食堂,随机采访几个学生,就问:“你觉得食堂的饭菜怎么样啊?

    你得到最多的答案大概是像这样的,“
    不错,挺好吃的”;“不行,太难吃了”;“凑合,感觉还可以吧”。

    原因有两方面,一是学生
    不知道该如何对一个事物发表自己的观点,也就是自我表达能力有点差。二是提问的问题本身存在问题,太宽泛了,学生不知道该怎么接。诸如此类的“你是如何看待XXX的?”这样的问题,感觉是最难回答的。

    但我要说的是,
    如果你能把这类问题回答的很好,那你真的已经相当厉害了

    §从面试别人说起

    说起来我也面试过几十个人了,不过说实话,我并没有一个很好的套路或方法去面试别人。我一般不会特别在意应聘者截至到现在
    拥有多少知识,或会多少技术。注意我说的是一般情况下不会。

    原因有二,一来我们不是
    造航母,招的就是拧螺丝的。二来我更在意一个人对他已有知识,或已经会用的技术的看法

    因为一个
    问题的结果无非就是一些答案。但是一个看法的结果却是一些观点。一个人能够当众发表一些很有看法的观点,说明的他的业务/技术素质心理素质都很不错。

    所以对于应聘者,我都会问,
    你如何看待Spring大都回答Spring是一个IoC容器,然后就没有了。其实我真正想知道的是你眼中的Spring是什么样子的

    然后我继续问,什么是IoC?大都答道控制反转或依赖注入。我再问,你如何理解控制反转呢?几乎没有人能很好的回答。

    既然是一个IoC容器,那你怎么理解“
    容器”二字?几乎也没有人能回答的很好。

    §C语言中的全局变量


    计算机专业一般都会学C语言,倒不是为了做项目,只是作为入门语言。C语言是面向过程的,没有类、字段等这些概念,只有
    函数和变量

    刚开始接触程序和语言时,大都水平不高。
    用的最多的就是全局变量,而且觉得特别好用

    原因有二,一是只要在一个全局位置定义好,后面程序中的任何地方都能够访问到它二是因为全局可访问,所以不用去考虑或规划,如何定义变量,怎么在函数间传递或返回。关键作为初学者,不一定能够做好这“简单”的事情。

    全局变量非常简单好用,和goto语句一样。但逐渐都不推荐再使用或被淘汰了,因为它们太灵活了,
    不太好控制,特别是后期代码量越来越多的时候。

    如果发明一种东西,像全局变量一样简单好用
    继承优点),但同时又能够很好地控制住改进缺点),它能不火起来吗?很显然,Spring就具有这种特性(虽然现在的Spring已经足够复杂了)。

    §Spring很好用,真的

    BAT之所以牛逼,就是因为它们都在各自的领域,彻底改变了人们的方式。Spring也彻底改变了人们的编程方式。

    类似的还有
    Struts/SpringMVC彻底改变了开发web应用的方式,Hibernate/Mybatis彻底改变了访问数据库相关代码的方式。

    Spring的全局性
    人类抬头,看到的是天。代码抬头,看到的是Spring。在任何地方,代码都可以和Spring交互。可以这么说,代码几乎是在Spring的管控下运行的(虽然这样讲不是很精确)。

    Spring的解耦性
    这里指的更多是开发方式上的解耦性。例如,从类A把B传给类C,原来的做法是直接传,这样A和C就耦合了,其实它们本没有关系。

    现在只需在类A里把B
    放入Spring中就完事了。然后在类C里再从Spring中取出B就可以了。A和C就解耦了,因为Spring充当了中间人

    Spring的易用性
    Spring就像你的
    秘书/管家,需要什么服务,告诉它,它给你提供。需要发号施令,告诉它,它帮你执行。

    就把Spring想象成你
    头顶的容器,需要从里取东西,伸开胳膊拽下来的就行了。需要往里存东西,胳膊用力推上去就行了。整个过程你甚至都不用抬头。

    PS:Spring仅仅是个容器吗?请持续关注后续文章!



    经典文章推荐

    小学生都能看懂的表达式计算(图解)

    五分钟轻松了解Hbase列式存储

    List家族遗产继承PK赛(一)

    List家族遗产继承PK赛(二)

    Map家族前来踢馆(一)

    Map家族前来踢馆(二)




    (完)


    编程新说


    用独特的视角说技术


  • 相关阅读:
    C#事件(event)解析
    dll加入到GAC后,如何方便的调试
    『C程序设计』读书笔记系列文章之第四章 逻辑运算和判断选取控制
    C#委托之个人理解
    虚方法(virtual)和抽象方法(abstract)的区别
    『C程序设计』读书笔记系列文章之第二章 数据类型、运算符与表达式
    SOA概览(转)
    今天学的几个有用的句型
    【老孙随笔】PPT高手的启示
    【项目经理之修炼(11)】《初级篇》什么样的项目经理才可能成功??
  • 原文地址:https://www.cnblogs.com/lixinjie/p/how-do-you-think-spring-is-a-container.html
Copyright © 2011-2022 走看看