spring framework 究竟是个什么玩意

术语:
spring是一个生态,包含spring xxx各种我们日常说的东西。通常我们老是说“spring 如何如何”可以理解为一种简称,我们日常为了简便经常把spring framework简称为spring。 但本文就不会再这么说了,以下本文称spring framework,以免歧义。

直接上结论:

spring framework是一个bean容器

如果要用最短的一句话来描述spring framework的本质,那么上面这句就是。
下面只是一些进一步的阐述。

  • 它是 spring mvcspring boot等多种所谓“spring应用”的基础。
  • 具体来说,spring项目(各种依赖于spring framework的应用)启动时,会根据 xxxApplicationContext的类型,分别去从xml配置文件注解、或者WEB_INF路径下的配置文件等处去读取配置,最终根据配置,产生很多的bean并维护起来,这也就是说它是bean容器的原因
  • spring framework所谓的维护bean,可以大致理解为最终维护在一个 Map<String, BeanDefinetion> 里面的。 可以大致理解为 key就是 beanName,value 是 BeanDefinition。 其中BeanDefinition 可以理解为是 Bean对象的一层封装,也就是提供了更多方法而已。就像我们开发中,如果有一个类的功能太少,不足以提供足够的功能,我们会再给它封装一层class。就是这个简单易懂的意思。
  • 然后,spring framework在产生xxxContext的过程中,还会通过beanFactoryPostProcessor等方法可以把上面提到的这个Map暴露出来,我们就可以控制这些bean的几乎任意行为。
  • 另外,所谓扩展spring framework,如果beanFactoryPostProcessor的自由程度依然不满足的话,可以自己写一个 xxxContext,继承spring framework里面的xxxContext,重写各个方法,那就可以在产生bean的各个节点进一步控制,理论上基本上更加为所欲为,可任意操作了。

以下上传一个我在小组里做技术分享时的一个自制PPT。

spring framework.pptx

注:

上文所谓的 xxxApplicationContext,指的是诸如: WebApplicationContextAnnotationConfigWebApplicationContextClassPathXmlApplicationContext之类的很多 xxxContext。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值