白话spring!相当的形象!!
来源:互联网 发布:数据分析的ppt模板 编辑:程序博客网 时间:2024/05/12 22:19
spring 概念学习
spring 控制反转 -> spring 注射
有一天皇帝想幸某个美女,于是跟太监说,今夜我要宠幸美女
皇帝往往不会告诉太监,今晚几点会回宫,会回哪张龙床,他只会告诉太监他要哪位美女
其它一切都交由太监去安排,到了晚上皇帝回宫时,自然会有美女出现在皇帝的龙床上
这就是控制反转,而把美女送到皇帝的寝宫里面去就是注射
---- 理解
太监就是是框架里面的注射控制器类BeanFactory,负责找到美女并送到龙床上去
整个后宫可以看成是Spring框架,美女就是Spring控制下的JavaBean
-- ejb spring 比较
而传统的模式就是一个饥渴男去找小姐出台 ,
找领班,帮助给介绍一个云云,于是领班就开始给他张罗
介绍一个合适的给他,完事后,再把小姐还给领班,下次再来
这个过程中,领班就是查询上下文Context,领班的一个职能就是给客户找到他们所要的小姐
这就是lookup()方法,领班手中的小姐名录就是JNDI小姐就是EJB,饥渴男是客户端,青楼是EJB容器
看到区别了么?饥渴男去找小姐出台很麻烦,不仅得找,用完后还得把小姐给还回去
而皇帝爽翻了,什么都不用管,交给太监去处理,控制权转移到太监手中去了
而不是皇帝,必要时候由太监给注射进去就可以了
再说 饥渴男
-----------------------------------------------------------------------------------------------------------------
一个地方的那种生意火不火。归根究底要看妈咪的措施完不完善
Cross-cutting concers (这些是妈咪的一些措施 sprint-》(叫法)(advice)建议哦)
事务措施 (TranactionInterceptor) -> 对小姐措施
日志措施 (LogInteceptor)-> 对饥渴男的措施 记录一个地区的生意情况
安全措施 (SecurityInteceptor)-> 对警察的措施
呵呵。。措施越多。就会安全。生意就越稳定。
你看 webwork 不就默认带了一些措施。你 还可include进一些
这些都要搞成声明的。。因为要根据情况说话,传统的方式就要硬来.非常的不稳定啊。而现在,
想什么时候声明措施就采用声明式的。。。。就不会出现。一不采用某些措施而全盘崩溃
需要的时候就会采用一些措施(weave) sprint-》(叫法) 织入,会在事件发生那一时间点(joinpoint),做好相应的措施(pointCuts)
措施一般在三种情况下采用
进房间前(编译时期)-> Compile time ->
跟妈咪 会面时(类加载时期 ClassLoad time)
进行时..(有明显动作时) 执行时(Runtime)
以上的措施对于每一个 饥渴男(javabean )都不用关心。这样饥渴男就放心了。
所有的措施都是为了饥渴男 取得更好的服务。而又感觉不到。spring 强大之处啊。化有形为无形
joinpoint(方法切入点) 也就是 饥渴男 与 警察 饥渴男 与 妈咪 饥渴男与小姐。接触的那一刻
-------spring 只支持在方法./接触的那一该. 想要更细一点的话.请使用 aspectJ
因为 spring 哲学认为(现代社会). Field 的 joinpint 会破坏对象的封装-> 不穿衣服会说你神经病
所以.都要封装.(装上衣服吧),不能老在原始社会踏步(过程思想)
pointCut 就是定义一些 措施 要采用最佳的时候。
比如说 饥渴男 看到了 警察 就需要把(SecurityInteceptor) 安全措施 引入了 正发生的那一刻(joinpoint)
饥渴男 就是闻如其名的 Target
Introduction(引入) -> 传说中 妈咪的后台boss(老板)可以随心所欲地对饥渴男进行一些 敲诈 勒索
也就是可以动态地为一个类在饥渴男 进行那个事的时候.动态地改变一些方法和行为
一般来说我们不建议采用。 应为这样做不厚道。生意会火不起来的。
spring 的 Advice(措施) 都是在饥渴男(Target) 进行交易(weave)的那一刻进行采用.
在特殊情况(joinpoint)发生情况时.pointCut()就会采用之前定义好的措施(Interceptor)来抵御
正所谓 "上有对策 下有政策" --反转
spring aop (实践下)
dataSource 小姐同意的条件 -》 来做这种事的人。肯定是带了钱的,也就是说。这步操做必需通过。否则没有后戏可言.
TransactionInterceptor 妈咪对小姐的吩咐措施 -》
(这个是小姐会跟你谈好的) 这个就是用来管理你的服务。你可能添加服务,换服务,不需要某此服务.还可以查询服务
也就是用TrasactionAtribute来协调
妈咪 的原则
BeanNameAutoProxyCreator -》 只要男人进来的。都要收钱
日志措施-》 记录你的时间。。可能还会记录点其它的..
安全措施 -》 帮你放哨
来吧。。试着去写一个 sprng 的aop 容器吧
注入dataSource 。。。。去找小姐时。带点钱
小姐(transatrribute),给了钱的话。。跟我走吧
所有小姐提供的服务。都是由妈咪的事务措施(TransactionInterceptor ) 来操做 transactionAttributes
进入 妈咪 提供的房间你会碰到 妈咪
她会默认地对于你笑一个 ---->BeanNameAutoProxyCreator 呵呵。有来一个送钱的
日志拦截器 -》 记录你的时间 安全拦截器 -》 帮你放哨 和 (TransactionInterceptor ) 这个。。都是帮你的。。
放心去做吧。。 spring 就是这么简单!!!!!!
让我来说说spring的原理吧。。(动态代理)
其实就是把一些措施移山入海。。让妈咪帮你做好。
饥渴男 在做事的时候。完全感觉不到有一些措施正在被妈咪在实施
妈咪 -> 动态代理
做事之前的措施 --> before 拦截器
做那个事 (饥渴男)不用知道之前之后的事
做事之后的措施 --> after 拦截器
有的时候。。你可能会碰到一条龙服务。(aruond)拦截器
看到Spring的美妙了吧,Spring还提供了与多个主流框架的支持 ,可以和其它开源框架集成
- 白话spring!相当的形象!!
- 白话Spring
- Spring形象理解
- Spring中两个关键知识点的形象理解
- 白话spring依赖注入
- 白话理解spring注解
- 白话Spring(基础篇)---bean之间的关系
- 白话Spring(基础篇)---bean的作用域
- spring IOC DI形象比喻~
- 如何形象介绍spring boot?
- 相当犀利的euphoria
- 相当全的电脑知识
- 相当逗的网站
- 相当牛的文章
- 心情相当的不好!
- 文件的相当路径
- 相当漂亮的主题
- peisong的网络形象
- xoops 站点地图模块sitemap
- 很黃很暴力強干excel的只讀密碼 親測
- Win32 SEH异常深度探索_8 异常处理是如何开始的
- 网络编程学习笔记1
- 正则表达式 实例
- 白话spring!相当的形象!!
- 批处理简明教程 二
- Win32 SEH异常深度探索_9 总结
- 白话spring依赖注入
- JQuery 对表格的操作
- 批处理简明教程 三
- 查询某个状态的最新版本对象
- 没有菜单栏时不显示(隐藏)输入法按钮
- 远程不能连接mysql解决方法