自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 spring源码-messageSource和监听器的初始化

这一节我们来看一下容器启动时messageSource的初始化和监听器的初始化。这一节主要的源码分四块:initMessageSource();initApplicationEventMulticaster();onRefresh();registerListeners();其中onRefresh方法是留给用户自定义的,所以这里主要看一下其他三个方法的源码。initMessageS...

2019-08-31 11:27:41 1697

原创 spring源码-4.注册bean的后处理器

执行完beanFactory的后处理器后,在实例化beanDefinition前,我们需要将bean的后处理器注册到容器中,这样才能在实例化beanDefinition的时候去执行这些后处理器。首先我们来看一下这个方法的入口(AbstractApplicationContext):protected void registerBeanPostProcessors(ConfigurableLis...

2019-08-31 11:27:05 1298

原创 spring源码-3.beanFactory后处理器

上一节我们已经讲完了beanFactory是如何初始化,并且是如何将需要注入到容器中的bean的beanDefinition注册到beanFactory中的。这一节我们再来看一下beanFactory的后处理器是如何运行的。这里从初始化完beanFactory到beanFactory的后处理器的执行有三步:beanFactory的准备工作自定义方法对beanFactory中的后处理器在执行...

2019-08-31 11:26:06 1344

原创 从零学spring boot-springboot集成swagger

日常开发中,前后端的开发联调都需要定义一个接口文档,定义接口文档是比较耗时的,这边推荐一款插件来根据接口来自动生成接口文档,并且会根据接口的变化而自动更新,解放一部分开发人力。spring boot集成swagger非常简单,只需要以下四步:1. 引入swagger依赖<dependency> <groupId>io.springfox</groupId&...

2019-08-26 17:22:33 1256

原创 spring源码-2.3.自定义标签的解析

上一节已经详细的看了一下默认标签的解析了,这一节我们来看一下自定义标签是如何解析的。首先,来看一下自定义标签解析的入口方法,delegate.parseCustomElement(ele):public BeanDefinition parseCustomElement(Element ele, @Nullable BeanDefinition containingBd) { //根据...

2019-08-25 20:07:23 1309

原创 spring源码-2.2.默认标签的解析

上一节中,我们详细分析了spring在解析xml,创建beanFactory的前期准备工作,这一节我们将会详细分析一下spring是如何解析系统默认标签的。首先进入解析默认标签方法的入口,parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate):private void parseDefaultElement...

2019-08-25 20:06:49 1344

原创 spring源码-2.1.解析xml准备

这一节我们来看一下obtainFreshBeanFactory都做了什么,这个方法主要就是创建了BeanFactory:protected ConfigurableListableBeanFactory obtainFreshBeanFactory() { //创建BeanFactory refreshBeanFactory(); //返回BeanFactory return ge...

2019-08-25 20:06:15 1242

原创 spring源码-1.容器刷新前准备

这一节我们来看一下prepareRefresh方法都做了什么。首先看一下这个方法的源码:protected void prepareRefresh() { //记录开始时间 this.startupDate = System.currentTimeMillis(); //设置状态 this.closed.set(false); this.active.set(true); //这...

2019-08-25 20:05:39 1426

原创 spring源码-xml解析概述

我们都知道ApplicationContext就是spring的容器,下面我们来看看spring容器是如何启动的。首先我们来看一下查看的源码的一些背景:spring版本:spring5启动的xml内容:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/sc...

2019-08-25 20:05:01 1358

原创 推荐几款Intellij IDEA好用的插件

以下几款插件是我在开发中常用的,非常方便 ,这里分享一下。1. Free Mybatis plugin作用:再也不需要手动去寻找dao方法中对应的sql的xml的位置了,和正常的代码跟踪一样了。2. MyBatis Log Plugin作用:将sql语句完整的打出来,再也不需要我们自己手动去填写参数了使用方法:安装完成后,在tools中打开该插件的窗口,在运行程序的时候,就会将sql...

2019-08-21 09:23:35 1382

原创 从零学springboot—— Conditional系列注解

1. @Conditional首先来看一下@Conditional注解的源码:@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Conditional { Class<? extends Conditio...

2019-08-17 16:02:58 1413

原创 从零学springboot—— 如何在junit测试中只mock一部分类

假设有一个类A,我们要对其进行测试:class A{ private B b; private C c; @Value("${str}") private String str;}如果我们想要mock调对B和C的调用,那么我们在测试类中只要这样写即可:@InjectMocksprivate A a;@Mockprivate B...

2019-08-17 16:02:05 2258 1

ssm框架搭建

ssm框架的搭建示例,直接下载即可运行,最基本的配置已经配好

2017-11-04

eclipse启动时间插件

将该资源复制到eclipse的plugins文件夹下即可,当启动eclipse的时候,就会跳出一个窗口,显示这次eclipse启动一共花费了多少时间。

2017-09-03

java内存分析工具

java内存分析工具

2017-08-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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