spring源码解析
spring源码解析
Nuan_Feng
蓝桥杯国赛一等奖,精通netty,rocketmq,xxljob,tx-lcn等中间件。根据RFC实现协议全部特性,http1.1,websocket,tcp,dns,socks5协议。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BeanUtils.copyProperties为嘛Copy不了内部类?
@TOC 今天内部类copy失败,但是封装List的却成功了。 查看源码 isAssignableFrom:rhsType表示是否是lhsType子类或子接口。 isPrimitive:表示是否是基类,也就是不是内部类。 这里内部类会失败,主要是因为这二个条件判断失败。但是List包装的成功,是因为编译后泛型擦除,导致实际比较的是ArrayList类,所以这里直接返回true。 ...原创 2021-09-07 20:35:38 · 1472 阅读 · 0 评论 -
spring源码解析之部署web项目常见问题
有些类会找不到,可能是频繁切换分支造成的。清除缓存即可。 第一步 下载kotlin插件 第二步 添加相关依赖 第三步 这个时候会出现 Kotlin: Language version 1.1 is no longer supported; please, use version 1.2 or greater. 这个异常只需要设置kotlin版本即可 然后修改项目版本即可 facets也要对应的修改 第四步 部署tomcat时会失败 这个问题是因为加载不到spring文件造成的。 配置输出原创 2021-03-16 15:12:07 · 451 阅读 · 0 评论 -
spring源码解析之零
看了官方文档,官方推荐使用的ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能。ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功能: • MessageSource, 提供国际化的消息访问 • 资源访问,如URL和原创 2017-04-16 11:03:59 · 592 阅读 · 0 评论 -
spring5.1.x源码解析之十三(常见问题)
spring如何实现标签功能扩展的? spring在解析doc的时候,会创建一个ReaderContext对象 ReaderContext对象创建的时候,会创建NamespaceHandlerResolver对象 在进行对象解析的时候,会分别解析默认命名空间和自定义的解析,也就是beans标签和非beans标签的解析 /* 获取所有已经配置的handler映射,读取配置文件 根据命名空间找到对应的信息 当是类的时候说明,已经做过解析直接缓存读取,直接返回 没有做过解析,返回类路径 判原创 2020-06-29 23:39:06 · 409 阅读 · 0 评论 -
spring5.1.x源码解析之十三(spring自动注入)
吃饭去咯原创 2020-04-29 19:45:21 · 252 阅读 · 0 评论 -
spring5.1.x源码解析之十二(列出10大设计模式)
责任链模式 org.springframework.aop.framework.CglibAopProxy.DynamicAdvisedInterceptor#intercept public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable ...原创 2020-04-29 19:42:53 · 358 阅读 · 0 评论 -
spring5.1.x源码解析之十一(spring-activeMQ)
demo package org.example.activemq.test; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class Receiver { public static void main(String[] args) throws Exceptio...原创 2020-04-29 18:45:20 · 406 阅读 · 0 评论 -
spring5.1.x源码解析之十(spring-rmi)
RMI demo package org.example.rmi.test; import java.rmi.*; public interface MyRemote extends Remote { public String sayHello() throws RemoteException; } package org.example.rmi.test; import java....原创 2020-04-29 13:21:03 · 264 阅读 · 1 评论 -
spring5.1.x源码解析之九(spring-mvc)
配置文件 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocati...原创 2020-04-28 00:17:39 · 592 阅读 · 0 评论 -
spring5.1.x源码解析之八(事务处理)
有点意思原创 2020-04-26 13:24:35 · 303 阅读 · 0 评论 -
spring5.1.x源码解析之七(spring-mybatis)
写累了,我躺一下原创 2020-04-25 12:57:33 · 396 阅读 · 0 评论 -
spring5.1.x源码解析之六(JDBC)
spring对JDBC只是进行了简单的封装,主要大范围利用回调函数解耦,相对来说灵活性也比较高.但没有针对数据库一些特性进行处理 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:...原创 2020-04-25 12:51:22 · 462 阅读 · 0 评论 -
spring5.1.x源码解析之五(AOP)
吃饭去咯原创 2020-04-24 13:52:58 · 370 阅读 · 1 评论 -
spring5.1.x源码解析之四(自定义属性编辑器执行逻辑)
//registerBeanPostProcessors会注册所有自定义编辑器,对应AbstractBeanFactory.customEditors //AbstractBeanFactory.initBeanWrapper会使用编辑器,对应AbstractBeanFactory.propertyEditorRegistrars 抽空写完 ...原创 2020-04-23 18:54:53 · 350 阅读 · 0 评论 -
spring5.1.x源码解析之三(new ApplicationContext())
= =原创 2020-04-23 10:42:02 · 475 阅读 · 0 评论 -
spring5.1.x源码解析之一(new XmlBeanFactory())
/* 这里分别使用 装饰者模式:使用EncodedResource包装Resource,对编码进行处理 策略模式:Resource针对不同的资源实现了,实现了不同的策略 */ @Override public int loadBeanDefinitions(Resource resource) throws BeanDefinitionStoreException { r...原创 2020-04-22 18:59:28 · 374 阅读 · 0 评论 -
spring5.1.x源码解析之二(XmlBeanFactory#getBean)
/* 缓存中获取值 工厂bean和普通bean的实际获取 没有的话创建对象 如果正在创建则异常,后续进行非单例的对象创建的时候会设置创建中 从父BeanFactory获取 标记正在创建或已经创建完成 合并父类相关属性到beanDefinition 判断是否是抽象类 依赖校验 注册依赖关系 提前初始化依赖的对象 创建单例对象 ...原创 2020-04-21 22:45:45 · 297 阅读 · 0 评论
分享