自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(26)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 aop源码解析辅助-jdk动态代理

相信读者对jdk动态代理多少有点了解 但可能有些读者并不明白动态代理的实现 这样给人的感觉就是懵懵懂懂 说也说不清 但也好像是知道这么回事 那么这篇博客的目的就是解决读者的这个困局的 既然是叫动态代理 那么说明有很多事情是瞒着程序员做的 相应的就有静态代理 这些对使用的程序员来说是透明的 像spring框架一样 里面做了太多太多的东西 但对使用者来说就是透明的 博主也是看了一个视频教程理解

2017-07-27 21:03:52 367

原创 aop源码解析四-代理方法的调用

JdkDynamicAopProxy实现了InvocationHandler接口 那么方法的实现我们看下invoke方法public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { MethodInvocation invocation; Object oldPr

2017-07-27 21:03:25 453

原创 aop源码解析三-postProcessAfterInitialization

在aop源码解析二:postProcessBeforeInstantiation博文中 我们花了很长的一个篇幅介绍一个方法shouldSkip方法 虽然看名字很简单 但里面确实做了很多的事情 虽然最终也是没有去创建代理 但这些工作并不是白做的 解析完以后缓存起来了 后面就可以直接使用了 这次我们看下AnnotationAwareAspectJAutoProxyCreator##postProcess

2017-07-27 21:02:35 5681

原创 aop源码解析二:postProcessBeforeInstantiation

我们就不再从bean的加载过程开始看了 在aop源码解析一:注册BPP中 介绍到了一个后置处理器 AnnotationAwareAspectJAutoProxyCreator 我们就从这个类入手aop 先看postProcessBeforeInstantiation 很显然 是bean实例化前调用的 里面好像是处理了一些事情 public Object postProcessBeforeIn

2017-07-27 21:00:22 6074 4

原创 aop源码解析一:注册BPP

如题,标签<aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>注册BPP(AspectJAutoProxyBeanDefinitionParser)源码分析 并没有介绍过BPP相关内容 这里简单的讲解下 读者心里有个概念就行 等有时间补写Bean的加载与读取的时候 会好好介绍这个重要的类! 首先 sp

2017-07-27 20:59:23 561

原创 aop基本概念

spring-aop功能 涉及到的东西很多 比如 切面 CGLIB 责任链等 这些东西会讲到 但不会详细讲解 一来是因为篇幅限制 另外博客的目的还是授人以鱼不如授人以渔为了让大家能阅读下面几篇关于aop的文章更顺利些 这里先给读者讲一下 spring实现aop大概的流程以及涉及到的一些名词 因为注解形式的友好性 大家用的比较多 所以我们只谈这种形式的实现aop 面向切面编程(AOP) :面向对

2017-07-27 20:58:26 316

原创 注解工作原理源码解析

注解工作原理源码解析

2017-07-14 09:23:09 2069

原创 PropertyPlaceholderConfigurer源码解析

PropertyPlaceholderConfigurer源码解析

2017-07-14 09:22:27 563

原创 ClassPathXmlApplicationContext源码解析五:加载单例

ClassPathXmlApplicationContext源码解析五-加载单例

2017-07-14 09:21:39 802

原创 ClassPathXmlApplicationContext源码解析四

ClassPathXmlApplicationContext源码解析四

2017-07-14 09:20:50 257

原创 ClassPathXmlApplicationContext源码解析三:BFPP

ClassPathXmlApplicationContext源码解析三-BFPP

2017-07-14 09:19:03 682

原创 component-scan做了些什么:源码解读

本文目的本文主要解决一个问题就是component-scan会扫描注册哪些注解标注的类 被@Controller标注的类会被扫描注册吗? 当然本文也可以当作spring解析非默认空间下元素的一个教程正文当遇到component-scan这样非标准或者称为自定义的元素标签时 spring会通过spring.handlers文件中的对应关系 http://www.springframework.org

2017-07-13 18:35:45 916

原创 ClassPathXmlApplicationContext源码解析二:默认空间元素解析

写在前面 在 ClassPathXmlApplicationContext源码解析一 中 我们用了很长的篇幅 介绍了加载上下文环境前的各种准备工作 spring是个世界级的项目框架 由精英团队打造 全世界的测试人员测试 即使如果读者感觉有点吃力 对突然冒出来的代码有点不习惯的话 也不要气馁 继续往下读 刚阅读源代码的时候 最怕纠结于一些琐碎单却不重要的事情下面我们看一下parseBeanDefin

2017-07-13 18:35:22 551

原创 ClassPathXmlApplicationContext源码解析一:准备工作

其实在web环境中 用到的上下文环境是 XmlWebApplicationContext 但其实对于我们要讲解的内容来说 核心逻辑是一样的 在后面讲解到web环境加载的时候 会讲到XmlWebApplicationContext类的解析 下面几篇博客的内容我们会介绍Spring是怎么构建上下文环境的 也就是ClassPathXmlApplicationContext的源码的过程 ClassPath

2017-07-13 18:34:02 532

原创 搭建spring web项目供debug使用

随着阅读源码的深入 越来越了解debug的重要性 要让代码跑起来 想想自己也是阅读了Spring的核心功能模块 搭建起来应该不费劲 顺便说说感受 想想刚毕业那会 进到公司 上手的都是已经搭建好的体系 这个阶段属于依胡萝画瓢阶段 后来自己上网搜索搭建教程 虽然也能搭建好 但还是不了解其意 仍然是依胡萝画瓢阶段 现在刚好有要搭建spring web项目 供我debug的需求 所以就花点时间搭建了一

2017-07-13 18:33:07 676

原创 Tomcat源码分析环境搭建

阅读源码的第一步就是把环境搭建起来 并能够调试 这样在某些情况下 能帮助你更好的阅读源代码 看起来比较直观 在这一点上 我将再次推荐idea这款集成开发环境 简直是神器 安利 网上也有比较多的教程教你怎么把tomcat源代码导入到idea中的教程 我就不再浪费时间在重复写了 我当初也是按着那样的步骤来的 相信读者这些应该是自己能够搞定的 我就直接把我搭建好的push到了我的github上面 上面

2017-07-13 18:30:55 262

原创 nginx反向代理解决mac上tomcat80端口问题

问题背景:mac的1024以下端口管理比较严格,搞了好久也没能让本地tomcat开启80端口,开启其他大于1024端口的倒是可以,但是这样不利用访问,访问web的时候,需要每次都带着端口访问,链接跳着跳着端口就有问题了,后来稍微了解了下nginx的知识,着手用nginx的反向代理能力去解决此问题。大概思路是让nginx开启80端口(这个倒是可以开启80端口 orz) 然后遇到自己设置的serv

2017-02-14 11:47:09 1164

原创 mac安装sequelpro

mac安装sequelpro遇到的问题:不像其他dmg镜像一样 打开后有一个拖到应用程序的界面 下载sequelpro后 只能以挂载镜像的方式打开 这样的话 倒是可以用 但一直有一个挂载镜像在哪 不舒服找来找去还是靠一句英文搞定的:how to install sequelpro on mac然后让我找到了下面一个地址http://macappstore.org/sequel-

2016-12-18 11:56:12 4495 1

原创 svn cp命令错误:cannot invoke editor to get log message when non-interactive

当用svn --username=yourusername cp trunkUrl branchesUrl 拉新分支的时候  提示如下图:网上没查到怎么回事  后来自己加了个-m参数 用于说明这次操作的原因也就是如下svn --username=yourusername cp -m ‘reason’ trunkUrl branchesUrl然后就可以了

2016-10-31 14:19:13 1135

原创 Mybatis源码导入eclipse

mybatis源码

2016-09-22 19:49:49 3375 3

原创 Tomcat源码导入eclipse/idea

真是想看看TOMCAT源码。主要参考了以下几篇前辈的博客,谢谢。http://blog.csdn.net/cuidiwhere/article/details/12361425http://blog.csdn.net/zhouhong1026/article/details/38416473http://blog.csdn.net/yulei_qq/article/details/

2016-09-21 21:11:16 459

原创 amq入门之运行书上例子

activemq in action,真是掘地三尺也没找到中文版,还好大学的时候好好学了下英语,看起来没毛病微笑。断断续续看到了第三章,提供了两个很好的例子,觉得应该要写些什么东西了,其实前面也有很重要的东西,比如一些介绍jms的时候,有些很重要的概念性的东西,比如:jms provider,domain(topic,queue),broker,producer,consumer...首先

2016-07-28 11:33:54 727

原创 Spring源码导入Eclipse

spring可真是个浩大的工程。先吐槽一下spring技术内幕这本书,我承认我功底尚浅,但还是可以有吐槽的地方。1:错别字有点多 2:竟然没说明用的是哪个版本的spring,我晕,这都不说,其实不同版本间的差别还是挺大的 3:跳跃性大。再说一遍,spring是一个浩大的工程,我打赌会有99.9%的人会打退堂鼓的。言归正传。感谢前辈的无私奉献,就不造轮子了。http://wi

2016-07-26 16:10:36 472

原创 Unknown system variable 'storage_engine'解决办法

安装mysql employees数据库,出现问题,mysql版本为:mysql  Ver 14.14 Distrib 5.7.10, for Linux (x86_64) using  EditLine wrappermysql默认的数据库存储引擎是innodb,正好出错的也是这行,提示没有storage_engine变量。好像14以后的msql storage_engine变量更名为def

2016-01-19 21:58:21 16999 3

原创 spring,springmvc,mybatis项目整合

刚学maven两天,自己博客各种看,终于可以了,记下来备忘,也给maven新人一点帮助。可能分几次写完。

2016-01-06 14:28:46 384

原创 mysql禁用validate_password插件

新版本的mysql默认开启了validate_password插件,进行密码验证,需要很强的密码强度才能通过认证,如果是自己玩玩的话没必要那么复杂,如果是公司的话,还是不要禁用了。其实关闭插件很简单,在mysql配置文件(centos系统下是/etc/my.conf)里面[mysqld]选项下面添加下面一条语句即可。validate_password=off如果不想关闭,而是想修改

2016-01-04 20:35:35 8053 6

activemq in action源码

activemq in action第三章出现的stock portfolio 与job queue资源的源码 本来是不应该收币的,但我csdn没币了......

2016-07-27

spring,mybatis整合框架

spring,mybatis框架的整合demo。具体环境信息可以看本篇博客,再决定是否下载: http://blog.csdn.net/xiaoshuai1127/article/details/50468672

2016-01-13

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

TA关注的人

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