![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring源码深度解析
文章平均质量分 88
Living_Z
这个作者很懒,什么都没留下…
展开
-
Spring源码深度解析 Spring Boot 体系原理总结
Spring Boot 特点如下:创建独立的 Spring 应用程序;嵌入的 Tomcat ,无须部署 WAR 文件;简化 Maven 配置;自动配置 Spring;提供生产就绪型功能,如指标、健康检查和外部配置;绝对没有代码生成,以及对 XML 没有配置要求首先搭建一个 maven 工程, pom 如下:然后建立一个 controller 类最后再加入启动整个项目的 main 函数最后启动main函数并在浏览器中输入localhost:8080第一个 Starterspr原创 2022-03-22 19:54:53 · 1135 阅读 · 0 评论 -
Spring源码深度解析 Spring 消息总结
JMS 的独立使用发送端实现接收端实现Spring 整合 ActiveMQSpring 配置文件发送端接收端到这里已经完成了 Spring 消息的发送与接收操作 但是 如 HelloWorldReciver 中所示的代码,使用 jmsTemplate.receive( destination )方法只能接收一次消息 ,如果未接收到消息,则会一直等待。当然用户可以通过设置 timeout 属性来控制等待时间,但是一旦接收到消息,本次接收任务就会结束 虽然用户可以通过 while(原创 2022-03-19 16:57:00 · 439 阅读 · 0 评论 -
Spring源码深度解析 远程服务总结
RMI使用示例建立 RMI 对外接口建立接 口实现类建立服务端配置文件。建立服务端测试完成了服务端的配置后,还需要在测试端建立测试环境以及测试代码 首先建立测试端配置文件编写测试代码服务端实现启动 Spring 中的 RMI 服务并没有多余的操作,仅仅是开启 Spring的环境 new ClassPathXmlApplicationContext(”test/remote/RMIServer.xml ”),仅此一句 于是,分析很可能是 RMIServiceExporte原创 2022-03-19 16:07:35 · 657 阅读 · 0 评论 -
Spring源码深度解析 SpringMVC总结
SpringMVC 快速体验配置 web.xmlcontextConfigLocation: Spring 的核心就是配置文件,可以说配直文件是 Spring 中必不可少的东西,而这个参数就是使 Web 与 Spring 的配直文件相结合的一个关键配直DispatcherServlet :包含了 SpringMVC 的请求逻辑, Spring 使用此类拦截 Web 请求并进行相应的逻辑处理创建 Spring 配置文件 applicationContext.xml创建model创建co原创 2022-03-18 22:42:50 · 557 阅读 · 0 评论 -
Spring源码深度解析 事务总结
JDBC 方式下的事务使用示例创建数据表结构创建对应数据表的 PO创建表与实体间的映射创建数据操作接口创建数据操作接口实现类创建 Spring 配置文件测试默认情况下 Spring 中的 事务处理只对 RuntimeException 方法进行回滚,所以,如果此处将 RuntimeException 替换成普通的 Exception 不会产生回滚效果事务自定义标签在配置文件中有这样一个配置 tx:annotation-driven/ 可以说此处配置是事务的开关使用原创 2022-03-17 19:15:13 · 997 阅读 · 0 评论 -
Spring源码深度解析 整合MyBatis总结
MyBatis 独立使用建立 PO建立 Mapper建立配置文件配置文件的基本结构configuration :根元素properties 定义配置外在化settings 一些全局性的配置typeAliases :为一些类定义别名typeHandlers :定义类型处理,也就是定义 Java 类型与数据库中的数据类型之间的转换关系objectFactory :用于指定结果集对象的实例是如何创建的plugins: MyBatis 的插件,插件可以修改 MyBatis 内部的运行原创 2022-03-16 19:09:43 · 877 阅读 · 0 评论 -
Spring源码深度解析 数据库连接JDBC总结
Spring 连接数据库程序实现( JDBC )创建数据表结构创建对应数据表的 PO创建表与实体间的映射创建数据操作接口创建数据操作接口实现类创建 Spring 配置文件测试save/update 功能的实现首先以保存实体类为例进行代码跟踪进入 jdbcTemplate中的 update 方法。进入 update 方法后, Spring 并不是急于进入核心处理操作,而是先做足准备工作,使用ArgTypePreparedStatementSetter 对参数与参数原创 2022-03-16 18:12:06 · 1394 阅读 · 0 评论 -
Spring源码深度解析 AOP总结
动态 AOP 使用示例创建用于拦截的 bean创建 Advisor创建配置文件测试动态 AOP 自定义标签Spring 中的自定义注解,如果声明了自定义的注解,那么就一定会在程序中的某个地方注册了对应的解析器在 AopNamespaceHandler 中对应着这样一段函数:在解析配 文件的时候, 旦遇到 aspectjautoproxy 注解时就会使用解析器AspectJAutoProxyBeanDefinitionParser 进行解析注册 AnnotationAware原创 2022-03-15 19:22:54 · 1589 阅读 · 3 评论 -
Spring源码深度解析 容器的功能扩展总结
ApplicationContext 和 BeanFacotry 两者都是用于加载 Bean 的,但是相比之下, ApplicationContext提供了更多的扩展功能,简单一点说 ApplicationContext 包含 BeanFactory 的所有功能通常建议比 BeanFactory 优先 ,除非在一些限制的场合,比如字节长度对内存有很大的影响时(Applet)使用 BeanFactory 方式加载 XML使用 ApplicationContext 方式加载 XMLClassP原创 2022-03-14 19:59:28 · 848 阅读 · 0 评论 -
Spring源码深度解析 bean的加载总结
对于加载 bean 的功能,在 Spring 中的调用方式为转换对应 beanName这里传入的参数可能是别名,也可能是 FactoryBean ,所以需要进行一系列的解析,这些解析内容包括如下内容去除FactoryBean 的修饰符,也就是如果name=“&aa”,那么会首先去除&而使 name=“aa”取指定 alias 所表示的最终 beanName,例如别名A 指向名称为B的 bean 则返回 B;若别名A 指向别名B ,别名B又指向名称为C的 bean 则返回C尝试原创 2022-03-12 17:01:29 · 1213 阅读 · 0 评论 -
Spring源码深度解析 自定义标签的解析总结
当完成从配置文件到 Document 的转换并提取对应的 root 后,将开始了所有元素的解析,而在这一过程中便开始了默认标签与自定义标签两种格式的区分当 Spring 拿到一个元素时首先要做的是根据命名空间进行解析,如果是默认的命名空间,则使用 parseDefaultElement 方法进行元素解析,否则使用 parseCustomElement 方法进行解析自定义标签使用扩展 Spring 自定义标签配置大致需要以下几个步骤(前提是要把 Spring Core包加入项目中)创建一个需要扩原创 2022-03-09 17:57:46 · 242 阅读 · 0 评论 -
Spring源码深度解析 默认标签的解析总结
默认标签的解析是在 parseDefaultElement 函数中进行的,分别对4种不同标签( import alias bean 和 beans ) 做了不同的处理bean标签的解析及注册首先委托 BeanDefinitionDelegate 类的 parseBeanDefinitionElement 方法进行元素解析,返回 BeanDefinitionHolder 类型的实例 bdHolder 经过这个方法后, bdHolder 实例已经包含我们配置文件中配置的各种属性了,例如 clas原创 2022-03-09 16:23:21 · 295 阅读 · 0 评论 -
Spring源码深度解析 容器的基本实现总结
容器基本用法bean 定义配置文件测试代码直接使用 BeanFactory 作为容器对于 Spring 的使用来说并不多见,甚至是甚少使用,因为在企业级的应用中大多数都会使用的是 ApplicationContext功能分析读取配置文件 beanFactoryTest.xml根据 beanFactoryTest.xml 中的配置找到对应的类的配直,并实例化调用实例化后的实例ConfigReader :用于读取及验证配置文件 我们要用配置文件里面的东西,当然首先要做的就是读取,然后原创 2022-03-08 20:54:07 · 318 阅读 · 0 评论 -
Spring源码深度解析 Spring整体架构和环境搭建总结
Core Container (核心容器)包含有 Core Beans Context Expression Language 模块Core Beans 模块是框架的基础部分,提供 IoC (转控制)和依赖注入特性 这里的基础概念是 BeanFactory ,它提供对 Factory 模式的经典实现来消除对程序’性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置Core 模决主要包含 Spring 框架基本的核心工具类, Spring 的其他纽件都要用到这个包里的类, Core 模.原创 2022-03-07 19:44:34 · 237 阅读 · 1 评论