自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 15_springmvc

再说springmvc的时候,我觉得有必要提一下servlet中filter,listener以及servlet都对应的有初始化方法。那么他们的执行顺序是怎样的呢? 在servlet容器的启动过程中,首先会优先调用listenner的contextInitialized方法。然后调用filter...

2019-09-25 16:24:55

阅读数 5

评论数 0

原创 14_spring事务

在spring中开启事务可以通过在xml中配置以及使用注解的方式,我们下面按照xml配置的方式进行讲解。 我们来回顾一下spring aop实现的过程 1:所有的bean在初始化之后会调用后置处理器的postProcessAfterInitialization 2: 查找合适的增强器 3:...

2019-09-24 08:45:30

阅读数 6

评论数 0

原创 13_pageHelper在mybatis的分析

如果我们要在mybatis中使用PageHelper,我们第一步需要将PageHelper配置到mybatis的配置中 <plugins> <plugin interceptor="com.github.pagehelper.PageHelper...

2019-09-11 17:38:50

阅读数 16

评论数 0

原创 12_Spring整合Mybatis源码

在我们打算在spring中使用mybatis的时候,一般需要在配置文件配置如下面的两个bean MapperScannerConfigurer bean 负责扫描对应的dao文件类,生成对应的代理。所以需要配置对应的dao文件的路径。 SqlSessionFactoryBean 解析映射文件。...

2019-09-11 16:25:16

阅读数 19

评论数 0

原创 11_AOP原理

在spring中。Aop是其一大特色。要想开启spring的aop功能,可以通过在xml中配置 <aop:aspectj-autoporxy/> 开启注解,然后定义对应的切面,切点来完成。同样也可以通过@EnableAspectJAutoProxy注解来完成开启。...

2019-09-03 18:43:44

阅读数 9

评论数 0

原创 10_finishBeanFactoryInitialization

finishBeanFactoryInitialization 的作用就是初始化剩余的所有单实例bean。除了一些需要提前初始化的类。比如前面实现了BeanDefinitionRegistryPostProcessor(在invokeBeanFactoryPostProcessors方法的时候)。...

2019-08-26 17:19:48

阅读数 6

评论数 0

原创 9_registerBeanPostProcessors

进入PostProcessorRegistrationDelegate的registerBeanPostProcessors 其实这里边主要做的逻辑就是获取所有的处理器,然后根据是否实现PriorityOrdered,Ordered接口进行排序后依次加入到beanFactory的beanPost...

2019-08-23 09:23:15

阅读数 6

评论数 0

原创 8_invokeBeanFactoryPostProcessors

PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory, getBeanFactoryPostProcessors()); 进入到对应的方法中 public static void in...

2019-08-22 16:44:12

阅读数 11

评论数 0

原创 7_invokeBeanFactoryPostProcessors方法讲解前的一些描述

invokeBeanFactoryPostProcessors方法是一个很好的扩展点。在需要进行统一组件扫描的情境下,通过实现BeanDefinitionRegistryPostProcessor该接口,复写其中的postProcessBeanDefinitionRegistry方法,可以很方便的...

2019-08-22 14:32:57

阅读数 13

评论数 0

原创 6_prepareBeanFactory方法分析

前面已经分析了refresh函数中的obtainFreshBeanFactory方法,在该方法中,如果是通过ClassPathXmlApplication的话,会在这里边进行beanFactory的创建以及xml中的bean的解析与注册。下面继续分析prepareBeanFactory方法.主要是...

2019-08-22 13:35:21

阅读数 17

评论数 0

原创 5_注解注册bean

在spring中如果想通过扫描注解的方式注册bean的话,可以通过在xml配置如下代码 <context:component-scan base-package="com.test.xml"/> 那么我们来分析一下componet-scan标签...

2019-08-22 11:18:06

阅读数 19

评论数 0

原创 4_自定义标签的解析

先进性一个简单的自定义标签的例子 首先在META-INF下创建文件spring.handlers(名字和路径固定)在其中添加 http\://www.test.com/schema/tags/urlMap=com.test.common.security.sdk.spring.ha...

2019-08-22 09:10:38

阅读数 18

评论数 0

原创 3_默认标签解析

private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { //import标签 if (delegate.nodeNameEquals(ele, IMPORT_E...

2019-08-21 17:42:37

阅读数 26

评论数 0

原创 2_XML形式bean的解析

在Spring中,注册一个bean分为两个方式,一个是通过注解扫描的方式,一个是通过xml的方式。下面我们就针对Spring的xml方式注册解析bean的过程进行分析 通过跟踪代码进入AbstractApplicationContext类refresh方法 在refresh方法中调用了obta...

2019-08-21 16:52:30

阅读数 18

评论数 0

原创 Spring源码分析(一)

在进行spring调用获取bean的时候,我们经常通过如下方式获取到一个对应的bean ApplicationContext applicationnContext = new ClassPathXmlApplicationContext("context.xml")...

2019-08-21 14:42:24

阅读数 11

评论数 0

原创 sychronized的概述

Java编程语言提供了多种用于线程间通信的机制,这些方法中最基础的就是同步(synchronization),他是使用监视器实现的,Java中每个对象都与一个线程可以锁定或解锁的监视器相关联,在任何时刻,只有一个线程可以持有某个监视器上的锁。线程t可以多次锁定某个特定的监视器,而每个解锁操作都会抵...

2018-09-28 10:52:37

阅读数 40

评论数 0

原创 类的初始化阶段

以下情况发生时,会触发类的初始化 1:创建了类的实例 2:该类的static方法会被调用 3:static域被赋值 4:static域被调用(当前域不是一个常量变量)[常量变量:用常量表达式初始化的简单类型或String类型的final变量,所谓常量表达式就是指简单类型值货String对象...

2018-09-11 11:01:41

阅读数 118

评论数 0

原创 java类型转换

类型转换Java中的类型转换可以分为13种,1 标识转换 是最简单的就是同种类型之间的转换。2 拓展简单类型转换 拓展简单类型转换涉及到基本数据类型,比如byte转换为short,int,long,float,double;short转换为int,long,float,double;int转换为l...

2018-07-02 15:27:03

阅读数 1030

评论数 0

原创 java类型和范围值

在java类型中存在三种类型,分别为:简单类型,引用类型以及空类型。同样对应的有三种数据值,简单值,引用值以及null。其中null是一种特殊的类型。由于null的类型没有名字,所以不能声明一个变量是空类型的,同样不能将变量类型转化为空类型。数字类型包括整数类型和浮点数类型。其中整数类型包括byt...

2018-06-28 10:58:45

阅读数 95

评论数 0

提示
确定要删除当前文章?
取消 删除