当前位置: 移动技术网 > IT编程>开发语言>Java > 知识小罐头01

知识小罐头01

2018年11月13日  | 移动技术网IT编程  | 我要评论

  在一边学习springboot源码的时候,也会一边更新一点知识小罐头,所谓小罐头,就是一些零碎的,平常没有被太多注意的小知识,有的时候可以触类旁通,还能增加自己的知识底蕴。

  而且不能一昧的沉迷于源码,有的时候也会造成眼光的局限,就只会一两个框架,其实不利于自己的发展,谁知道几年后这一两个框架会不会没落。

  下面只用大白话说,不扯spring源码,有关的代码只有两三个自己写的简单的类(其实自己写的简单的类,包括属性、构造器、set、get方法,这种类有很多称呼!在javaweb中被叫做javabean,在ssm框架中别叫做pojo,dto,mapper,vo,大白话就是实体类)。

  明明就是一个东西,为什么这么多名字啊,有病啊?我的第一感觉就是这样。

  但是,我当看见过martin fowler一段话让我对这些名字彻底改观,martin fowler鼎鼎大名,他说过一句话,

  "we wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. so we gave them one, and it's caught on very nicely."

  翻译:“我们很想知道为什么人们如此反对在他们的系统中使用常规对象,我们得出的结论:这是因为简单对象缺少一个响亮的名字。所以,现在我们赋予了他们一个名字,并且反馈的效果非常好。”

  所以我们不要因为一些类看起来很简单,别人看起来很弱智,就不用,而追求那些非常复杂的类,这样太本末倒置了,适合自己的才是最好的。

  咳咳,不瞎扯了,今天看一下监听器的基本原理。

  来看一段公司---员工的逻辑:

  首先:员工4个(user)-------->加入一间公司,公司的老板是boss(可以看作是向boss可以坐在办公室管理所有user)------------>情况:boss可以随时向所有的user加工资,但是不可能一个一个的给你发,所以boss只要总经理manager说一下,boss就可以去度假去了,其他事总经理去做。

  总结一下就是:user先要加入公司---------->boss只要对manager说话-------->manager就会所有执行操作----------->user就加工资了

  

 

 

   好好体会一下这个逻辑,其实就跟微信公众号一样,很多个用户关注一个微信公众号,只要微信公众号一发消息,所用户都能收到信息。

  大家还记得23种设计模式吧!

  反正我是不记得了,我只记得有个23种,其中单例,消费者模式,咳咳,惭愧惭愧!而今天例子这个在23种设计模式中叫做观察者模式。

  对的,大家在ssm框架的时候,肯定配置过一个contextloaderlistener,其实监听器用的就是观察者模式,也就是和今天的这个事例基本逻辑一样。

  对应关系(spring):ioc容器-------->boss ; 消息派发器--------->manager ; listener------------>user

  启动一个web应用(以spring为例)用大白话说一下监听器过程:最先开始的就是肯定是ioc容器的创建、刷新、初始化(其中就包括初始化消息派发器以及配置监听器,将消息派发器丢到容器里),实例化剩余的bean之后,ioc容器就会发布一个消息(我完成啦,后面的工作就交给你们啦~),此时,就会从容器中获取消息派发器(会自动收集容器里所有的listener),将消息派发出去。

  其实ioc容器的创建过程是非常复杂的,我这里只是给萌新说了一点最粗略的,有助于理解其中的逻辑。

  因为,用,谁都会用,不就是配置一个监听器,然后自动的就可以用了嘛,主要是其中的原理性的东西才是最经典的。

  

  

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网