spring笔记

1 spring MethodReplacer 的reimplement是用来替换的,不能通过反射调用方法,否则会陷入死循环

public class CellWrapper implements MethodReplacer{

	public Object reimplement(Object obj, Method method, Object[] args) throws Throwable {
		System.out.println("替换前");
		method.invoke(obj, args);//错误
		System.out.println("after replace");
		return null;
	}

}


2.spring 事件核心代码

public void multicastEvent(final ApplicationEvent event) {
		for (final ApplicationListener listener : getApplicationListeners(event)) {
			Executor executor = getTaskExecutor();
			if (executor != null) {
				executor.execute(new Runnable() {
					public void run() {
						listener.onApplicationEvent(event);
					}
				});
			}
			else {
				listener.onApplicationEvent(event);
			}
		}
}


3.spring中的targetSource下的子类HotSwappableTargetSource 适合双数据源的场景

4.spring中的execution可以用来进行拦截,within可以拦截到类级别的joinpoint

5.什么是控制反转?控制:第三方控制具体实现类的具体类型;反转:并非由调用者自身去初始化实现类而是由第三方管理

6. Resource是作为资源的接口存在的,而ResourceLoader是用来获取Resource的,另外classpath* 是指加载不同模块下但包名相同的Resource

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值