
spring学习
xb_workspace
这个作者很懒,什么都没留下…
展开
-
Spring学习日记十一------MVC核心逻辑篇
DispatcherServlet 的设计 Spring MVC 的本质其实就是一个 Servlet,而上一篇提到了 DispatcherServlet,我们知道 Spring MVC 真正的逻辑其实是在 DispatcherServlet 中进行的,而 DispatcherServlet 恰恰就是实现 Servlet 接口的实现类。 下面是 Dispatche...转载 2018-09-17 11:43:26 · 144 阅读 · 0 评论 -
Spring学习日记九------MVC基础篇
软件的分类 软件(Software)是一系列按照特定顺序组织的计算机数据和指示,是计算机中的非有形部分。而计算机中的有形部分称为硬件,由计算机的外壳及各零件及电路所组成。计算机软件需要有硬件才能运作,反之亦然,软件和硬件都无法在不互相配合的情况下进行实际的运作。 一般来说,计算机软件被分为编程语言、系统软件、应用软件和介于两者之间的中间件。其中系统软件为计算机使...转载 2018-09-14 16:35:08 · 258 阅读 · 0 评论 -
Spring学习日记八------AOP总结篇
Spring AOP 源码分析 虽然我们仅仅分析了一部分,但在 Spring AOP 的基本实现中,我们可以看到 Proxy 代理对象的使用,在程序中是一个非常重要的部分,Spring AOP 充分利用 Java 的Proxy、反射以及第三方的 CGLIB 这些方案,通过这些技术,完成了 AOP AopProxy 代理对象的生成。 回顾整个源码实现过程我们可以看...转载 2018-09-14 16:33:17 · 117 阅读 · 0 评论 -
Spring学习日记七------AOP创建代理篇
创建代理 代理的定义其实非常简单,就是改变原来目标对象方法调用的运行轨迹。这种改变,首先会对这些方法进行拦截,从而为这些方法提供工作空间,随后在进行回调,从而完成 AOP 切面实现的一整个逻辑。 而创建代理是 Spring AOP 功能实现最核心的地方,一般而言 Spring AOP 动态生成代理有两种方法:JDK 和 CGLIB。下面是具体时序图: ...转载 2018-09-14 16:31:10 · 170 阅读 · 0 评论 -
Spring学习日记六------AOP获取指定增强篇
获取指定增强 上文中已经提到了获取指定增强方法的两个步骤:(1)获取所有的增强,(2)寻找所有增强中适用于 bean 的增强并应用,而这两个步骤是由 findCandidateAdvisors 和 findAdvisorsThatCanApply 来完成的。下图是相关的时序图: 但在介绍源码前,我必须先了解一下增强以及其相关逻辑。 获取增强 ...转载 2018-09-14 16:30:01 · 151 阅读 · 0 评论 -
Spring学习日记五------AOP实现篇
核心逻辑 上文中提到了 AOP 创建代理等等的具体操作都是在 AnnotationAwareAspectAutoProxyCreator 类中来成的,通过上文的自动注册,下面让我们看 AnnotationAwareAspectAutoProxyCreator 是如何工作的,首先是 AnnotationAwareAspectAutoProxyCreator 的继承关系图:...转载 2018-09-14 16:28:32 · 244 阅读 · 0 评论 -
Spring学习日记四------AOP架构篇
Spring AOP 架构 先是生成代理对象,然后是拦截器的作用,最后是编织的具体实现。这是AOP实现的三个步骤,当然Spring AOP也是一样。 而从Spring AOP整体架构上看,其核心都是建立在代理上的。当我们建立增强实例时,我们必须先使用 ProxyFactory 类加入我们需要织入该类的所有增强,然后为该类创建代理。一般而言,AOP实现代理的方法有...转载 2018-09-14 16:26:13 · 169 阅读 · 0 评论 -
Spring学习日记三------AOP原理篇
AOP概论 AOP(Aspect-Oriented Programming,面向切面的编程),谈起AOP,则一定会追溯到OOP(Object Oriented Programming,面向对象编程),因为AOP可以说是对OOP的补充和完善,而这一切的理念都是从模块化开始的。OOP是一种非常成功、极具表现力的编程范式,它将概念自然地表达为对象,从而将其中通用的代码模块化。所以,衡量...转载 2018-09-14 16:22:27 · 293 阅读 · 0 评论 -
Spring学习日记二------容器篇
应用开发中的容器,是指应用代码的运行框架。不基于容器的开发,是杂乱无章的,事实上,很多架构或者应用都是以容器为基础的,比如:EJB就是过去管理J2EE业务对象时最常用的容器。而J2EE的Web容器则比较特殊,它是用于管理servlet及其相关依赖对象的,Tomcat就是一个非常典型的Web容器。一般而言,容器都包含有比如生命周期管理、查找、配置管理以及依赖决策等基础服务,而且还会根据情况提供一些线...转载 2018-09-14 15:57:31 · 217 阅读 · 0 评论 -
Spring学习日记一------概览篇
Spring 是为解决企业级应用开发的复杂性而设计,她可以做很多事。但归根到底支撑Spring的仅仅是少许的基本理念,而所有地这些的基本理念都能可以追溯到一个最根本的使命:简化开发。这是一个郑重的承诺,其实许多框架都声称在某些方面做了简化。而Spring则立志于全方面的简化Java开发。对此,她主要采取了4个关键策略:1,基于POJO的轻量级和最小侵入性编程; 2...转载 2018-09-14 15:11:51 · 350 阅读 · 0 评论 -
Spring学习日记十五------MVC 总结篇
Spring MVC 的总结 Spring 并不会强制应用对 Web 框架的选择,但对于 Web 应用开发而言,选择直接使用 Spring MVC 可以给应用开发带来许多便利。 而对于整个 Spring MVC 框架的运行过程,首先,在 Web 环境中建立 Sping Ioc 容器的 Web 容器中的配置和初始化,当然,因为 Web 容器的特殊性,所以在配置方面...转载 2018-09-17 11:49:22 · 130 阅读 · 0 评论 -
Spring学习日记十四------MVC 视图呈现篇
DispatcherServlet 视图设计 前面分析了 Spring MVC 中的 M(Model)和 C(Controller)相关的实现,其中的 M 大致对应 ModelAndView 的生成,而 C 大致对应 DispatcherServlet 和与用户业务逻辑相关的 handler 实现。在 Spring MVC 框架中,DispatcherServlet 起到了非常核...转载 2018-09-17 11:48:41 · 142 阅读 · 0 评论 -
Spring学习日记十三------MVC M与C的实现篇
MVC 处理 HTTP 分发请求 HandlerMapping 配置与设计 在初始化完成时,在上下文环境中已定义的所有 HandlerMapping 都已经被加载了,这些加载的 handlerMapping 被放在一个 List 中并被排序,存储着 HTTP 请求对应的映射数据。这个 List 中的每一个元素都对应着一个具体 handlerMapping 的配置...转载 2018-09-17 11:47:00 · 148 阅读 · 0 评论 -
Spring学习日记十二------MVC模块初始化篇
DispatcherServlet 的初始化 Spring MVC 是基于 Servlet 功能实现的,通过实现 Servlet 接口的 DispatcherServlet 来封装其核心功能实现,通过将请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。下面是 DispatcherServlet 的继承图: ser...转载 2018-09-17 11:45:51 · 170 阅读 · 0 评论 -
Spring学习日记十------MVC源码入口篇
测试代码 框架配置 现在就从 SpringMVC 的网站开发开始。当然,最先是用 Mavan 下载所需的 jar。下面是 pom.xml 配置:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema...转载 2018-09-14 16:36:45 · 481 阅读 · 0 评论