聊一聊 AOP:Advice 源码解析
在第一篇中的例子和概念介绍中我们对 Advice 有了一个初步的认知。在 Spring AOP 中,Advice 的作用就是用来描述 Spring AOP 围绕方法调用而注入的切面行为。本篇文章将从源码的角度来看一看 Advice
到底是什么样的?又是怎么完成通知的?
在第一篇中的例子和概念介绍中我们对 Advice 有了一个初步的认知。在 Spring AOP 中,Advice 的作用就是用来描述 Spring AOP 围绕方法调用而注入的切面行为。本篇文章将从源码的角度来看一看 Advice
到底是什么样的?又是怎么完成通知的?
aop 终于提上日程来写一写了。
本系列分为 上、中、下三篇。上篇主要是介绍如果使用 AOP ,提供了demo和配置方式说明;中篇来对实现 AOP 的技术原理进行分析;下篇主要针对Spring中对于AOP的实现进行源码分析。
本来是想写 aop 设计机制的,但是最近被 session 这个东西搞得有点头大,所以就抽点时间来整理下关于 session 的一些东西。
随着业务的发展,越来越多的应用系统都从一个大的系统分拆成多个小的系统,各个系统之间通过一定的通信协议进行数据交换。这样就会导致一些小的应用系统自己不用去进行数据库的操作,只需要进行一些rpc调用或者缓存就可以拿到数据进行展示。我之前参与的一个项目就是这样的情况,而我也是将近7个多月的时间没有写过一行SQL。
近期参与的一个项目的数据大多都市基于数据库来进行数据交互的,所以免不了的要写大量的 SQL,所以本篇就总结一下一些 SQL 的基本写法,以备后用。
作为一个 Java 程序员,肯定对于日志记录不会陌生,无论项目大小,日志记录都是必须的;因为好的日志可以很容易的帮助我们定位一些生产问题。
我怀念的是
无话不说System.out.println(“这里是重要的日志”);
我怀念的是一起作梦System.err.println(“这里是错误的日志”);
对于日常开发来说,其实 System.out.println 挺好用的,但是为什么在实际的开发应用中不使用这个来输出日志呢?
在Spring源码系列-BeanDefinition文章中大概分析了一下 Bean 的载入,其实这个过程就是在Ioc容器中建立BeanDefinition的数据映射。但是对于Bean的实例化并未涉及,在之前的分析中也提到,bean的实例化是在依赖注入是才具体完成。
Bean的定义主要由 BeanDefinition 来描述的。作为Spring中用于包装Bean的数据结构,今天就来看看它的面纱下的真容吧
BeanWrapper 是 Spring 提供的一个用来操作javaBean 属性的工具,使用它可以直接修改一个对象的属性。
昨天朋友圈问了一个问题:
对于下面的 list,何如在 list 添加一个 Integer 型整数?
1 | ArrayList<String> list = new ArrayList<String>(); |