- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 Spring源码解析之四 ------ AOP原理和源码分析
在介绍AOP之前,想必很多人都听说AOP是基于动态代理和反射来实现的,那么在看AOP之前,你需要确实弄懂动态代理和反射。巧了,我这里就有。JDK的动态代理的实现和源码分析,参见我的这两篇文章JDK的动态代理源码分析之一 ( http://blog.csdn.net/weililansehudiefei/article/details/73655925 )JDK的动态代理源
2017-06-28 08:40:53 6051
原创 Spring源码解析之二 ------ 自定义标签的解析和注册(IOC的第一步)
在《spring源码解析之一 ----- 默认标签的解析注册》中,已经介绍了Spring对于默认标签(beans、bean、alias、import)的解析注册。看到这个时候,你也会明白,我们常用的aop标签,并不是spring的默认标签,而是自定义标签。spring对自定义标签,提供了良好的扩展和支持。在上篇文章中,按照源码看bean的解析过程中,在下方的代码里,是自定义标签和Default标
2017-06-27 01:16:11 960
原创 Spring源码解析之一 ------ 默认标签的解析注册(IOC的第一步)
要看Spring bean加载的过程,最好的是Debug跟着流程走,有所侧重的看。首先需要的搭建本地环境和简单的项目工程,搭建的方法我放在这篇博客里。我也是看了不少博客,Debug了很多次才终于理解整个过程。第一次看的时候,别心急,几天看完第一次都没关系。我相信这篇文章,能让你看懂bean加载。《这里应该介绍一下web工程读取xml的顺序,然后加载》一、schema、xsd的认识
2017-06-26 20:08:26 1085 1
原创 springMVC使用@ControllerAdvice实现异常处理
@ControllerAdvice注解的类,会被作用于@RequesMapping注解的方法上。先来看看它的基本实现@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface ControllerAdvice {被Component注解,说明
2017-06-24 15:12:28 4397
原创 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
原创 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 1822
原创 Leetcode 287 Find the Duplicate Number
int findDuplicate3(vector& nums){ if (nums.size() > 1) { int slow = nums[0]; int fast = nums[nums[0]]; while (slow != fast) { slow = nums[slow]; fast = nums[nums[fast]]; } fast =
2017-06-30 11:46:25 287
原创 Leetcode 442. Find All Duplicates in an Array
public class Solution { // when find a number i, flip the number at position i-1 to negative. // if the number at position i-1 is already negative, i is the number that occurs twice.
2017-06-30 10:25:56 227
原创 Leetcode 448 Find All Numbers Disappeared in an Array
public List findDisappearedNumbers(int[] nums) { List res = new ArrayList<>(); int n = nums.length; for (int i = 0; i < nums.length; i ++) nums[(nums[i]-1) % n] += n; f
2017-06-30 10:23:49 247
原创 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
原创 SpringBoot Mock测试
今天用Mock测试Controller的时候,刚开始发现Controller里面的Service没有被实例化,也就是没有注入bean。原先的测试代码,我没有通过AutoWired注解注入repaymentScheduleController,而是直接在setup里面new了一个Controller。正常运行后的代码:package com.creditease.microloa
2017-06-26 13:33:45 7420
原创 SpringAOP的实现原理
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与
2017-06-24 15:58:21 2091
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人