学习java第四十一天

Spring MVC运行流程:

第一步:发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求HandlerMapping查找 Handler( 可以根据xml配置、注解进行查找)

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView(ModelAndView是springmvc框架的一个底层对象,包括Model和view)

第八步:前端控制器请求视图解析器去进行视图解析(根据逻辑视图名解析成真正的视图(jsp))

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染( 视图渲染将模型数据(在ModelAndView对象中)填充到request域)

第十一步:前端控制器向用户响应结果

Spring 框架中都用到了哪些设计模式?

工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;

单例模式:Bean默认为单例模式。

代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;

模板方法:用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。

观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被制动更新,如Spring中listener的实现---ApplicationListener。

相关推荐
IT大白鼠几秒前
AIGC+教育:个性化学习、AI助教、内容生产,教育行业的变革路径
人工智能·学习·aigc
qq_254674411 分钟前
Alpine Linux 基于 Debian 等系统的常规 Nginx
开发语言
故事和你916 分钟前
洛谷-数据结构2-1-二叉堆与树状数组1
开发语言·数据结构·c++·算法·动态规划·图论
@杰克成7 分钟前
Java学习24
java·学习·idea
挨踢ren8 分钟前
C++虚函数:从基础到高阶
java·开发语言·jvm
hhb_61814 分钟前
C语言核心技术难点梳理与实战案例解析
c语言·开发语言
海参崴-18 分钟前
C++ STL篇 红黑树的模拟实现
开发语言·c++
Dshuishui24 分钟前
我用 Claude Code 做了一个学术论文搜索工具
开发语言·人工智能·python·pip·uv
IT 行者24 分钟前
Spring AI 2.0.0-M5 发布:全面转向 OpenAI Java SDK
java·人工智能·spring
Resky081825 分钟前
ReentrantReadWriteLock 深度解析
java·开发语言·juc