Spring
文章平均质量分 87
StackOverFlower
18年硕士毕业,就职于字节跳动,直播中台研发,负责榜单、红包等服务。
展开
-
Spring源码解析之一 ------ 默认标签的解析注册(IOC的第一步)
要看Spring bean加载的过程,最好的是Debug跟着流程走,有所侧重的看。首先需要的搭建本地环境和简单的项目工程,搭建的方法我放在这篇博客里。我也是看了不少博客,Debug了很多次才终于理解整个过程。第一次看的时候,别心急,几天看完第一次都没关系。我相信这篇文章,能让你看懂bean加载。《这里应该介绍一下web工程读取xml的顺序,然后加载》一、schema、xsd的认识原创 2017-06-26 20:08:26 · 1082 阅读 · 1 评论 -
Cron表达式
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下: Seconds:可出现",原创 2017-07-25 14:54:33 · 292 阅读 · 0 评论 -
Spring源码解析之四 ------ AOP原理和源码分析
在介绍AOP之前,想必很多人都听说AOP是基于动态代理和反射来实现的,那么在看AOP之前,你需要确实弄懂动态代理和反射。巧了,我这里就有。JDK的动态代理的实现和源码分析,参见我的这两篇文章JDK的动态代理源码分析之一 ( http://blog.csdn.net/weililansehudiefei/article/details/73655925 )JDK的动态代理源原创 2017-06-28 08:40:53 · 6050 阅读 · 0 评论 -
Spring之bean加载源码阅读工程搭建
一、spring.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/conte原创 2017-06-26 20:14:28 · 473 阅读 · 0 评论 -
SpringBoot Mock测试
今天用Mock测试Controller的时候,刚开始发现Controller里面的Service没有被实例化,也就是没有注入bean。原先的测试代码,我没有通过AutoWired注解注入repaymentScheduleController,而是直接在setup里面new了一个Controller。正常运行后的代码:package com.creditease.microloa原创 2017-06-26 13:33:45 · 7420 阅读 · 0 评论 -
Spring源码解析之三 ------ bean的初始化(IOC的第二步)
在前两篇博客里,讲了spring对于自定义标签和默认标签的初始化过程。对于bean标签的解析注册,这只是IOC的第一步,而我们知道,我们经常用的bean默认是单例的,而且是spring为我们提供好的。这就涉及到IOC的第二步,为bean生成实例。 public void refresh() throws BeansException, IllegalStateException { s原创 2017-07-04 01:09:54 · 1046 阅读 · 0 评论 -
Spring源码解析之零 ------ 容器初始化过程(refresh()方法)概要
本篇主要讲解,容器初始化时候的refresh()方法里的,几个重要方法的基本作用。首先来看一下refresh()方法。spring容器的启动,创建bean,bean的初始化等一系列过程都在这个refresh方法里面,进行调用。 public void refresh() throws BeansException, IllegalStateException { synchro原创 2017-07-03 13:43:41 · 5410 阅读 · 0 评论 -
SpringAOP的实现原理
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与原创 2017-06-24 15:58:21 · 2091 阅读 · 0 评论 -
springMVC使用@ControllerAdvice实现异常处理
@ControllerAdvice注解的类,会被作用于@RequesMapping注解的方法上。先来看看它的基本实现@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface ControllerAdvice {被Component注解,说明原创 2017-06-24 15:12:28 · 4395 阅读 · 0 评论 -
JDK动态代理源码分析之一
一、JDK动态代理的Demo接口:package com.weili.cn;/** * Created by weili on 17/6/23. */public class Animal implements AnimalInterface { public void sound() { System.out.println("Animal miao m原创 2017-06-23 23:41:01 · 1820 阅读 · 0 评论 -
JDK动态代理源码分析之二
在上篇文章里对JDK动态代理的方法和源码进行了简单的分析,这篇主要讲述怎么将JDK的代理生成的class文件进行输出。以下是调用的文件,其他的文件均和 JDK动态代理之一 中的一致(http://blog.csdn.net/weililansehudiefei/article/details/73655925)package com.weili.cn;import java.lang.原创 2017-06-24 00:08:56 · 1031 阅读 · 0 评论 -
Spring源码解析之二 ------ 自定义标签的解析和注册(IOC的第一步)
在《spring源码解析之一 ----- 默认标签的解析注册》中,已经介绍了Spring对于默认标签(beans、bean、alias、import)的解析注册。看到这个时候,你也会明白,我们常用的aop标签,并不是spring的默认标签,而是自定义标签。spring对自定义标签,提供了良好的扩展和支持。在上篇文章中,按照源码看bean的解析过程中,在下方的代码里,是自定义标签和Default标原创 2017-06-27 01:16:11 · 960 阅读 · 0 评论 -
自定义注解实现Excel的解析生成
1.自定义注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * Created by weili on原创 2017-07-27 15:25:26 · 2123 阅读 · 1 评论