b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

jsp程序 面试问烂的 Spring AOP 原理、SpringMVC 过程(2)

电脑杂谈  发布时间:2018-10-17 16:13:41  来源:网络整理

代码位置:com.interface21.aop 包下。

开始分析(扯):

1、代理的创建(按步骤):

首先,需要创建代理工厂,代理工厂需要 3 个重要的信息:数组,目标对象接口数组,目标对象。

在做seo优化的同时,我们首先就要先确认网站优化的最终seo目标,有了一个明确的目标才能更好的安排具体的工作。

在和客户商务谈判后就要客户确认网站优化的最终seo目标,有了一个明确的目标才能更好的安排具体的工作。

对于加了@transactional注解的方法来说,在调用代理类的方法时,会先通过transactioninterceptor开启事务,然后在调用目标类的方法,最后在调用结束后,transactioninterceptor 会提交或回滚事务,大致流程如下图:。

1947年1月,46团主攻焦家岭,连续冲锋七次,伤亡500余人,最终攻下目标,歼敌一个加强连。

当调用 getProxy 方法的时候,会根据接口数量大余 0 条件返回一个代理对象(JDK or Cglib)。

注意:创建代理对象时,同时会创建一个外层,这个就是 Spring 内核的。用于控制整个 AOP 的流程。

2、代理的调用

servlet_jsp开发_jsp程序

当对代理对象进行调用时,就会触发外层。

外层根据代理配置信息,创建内层链。创建的过程中,会根据表达式判断当前拦截是否匹配这个。而这个链设计模式就是职责链模式。

当整个链条执行到最后时,就会触发创建代理时那个尾部的默认,从而调用目标方法。最后返回。

题外话:Spring 的事务也就是个。

来张不是很标准的 UML 图:

面试问烂的 Spring AOP 原理、SpringMVC 过程

关于调用过程,来张流程图:

面试问烂的 Spring AOP 原理、SpringMVC 过程

大概就是这样子,具体更多的细节,请看源码,如果还不是很明白的话,请咨询本人,本人不确定这个图是否画的很浅显易懂 —— 最起码萌新看得懂才能称之为浅显易懂。

先来张图:

面试问烂的 Spring AOP 原理、SpringMVC 过程

代码位置:com.interface21.web.servlet.DispatcherServlet#doService

(没错,就是 Spring 1.0 的代码,大道至简,现在的 Spring 经过 15 年的发展,已经太过臃肿,从学习角度来说,interface 21 是最好的代码,不接受反驳)

代码如下:

1.设置属性

//??1.??设置属性
//??Make??web??application??context??available
request.setAttribute(WEB_APPLICATION_CONTEXT_ATTRIBUTE,??getWebApplicationContext());

//??Make??locale??resolver??available
request.setAttribute(LOCALE_RESOLVER_ATTRIBUTE,??this.localeResolver);

//??Make??theme??resolver??available
request.setAttribute(THEME_RESOLVER_ATTRIBUTE,??this.themeResolver);

2.根据 Request 请求的 URL 得到对应的 handler 执行链,其实就是和 Controller 代理对象。

jsp开发_servlet_jsp程序

//??2.??找??handler??返回执行链
HandlerExecutionChain??mappedHandler??=??getHandler(request);

3.得到 handler 的适配器


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-89538-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...