spring中 THreadLocal 的运用地方

1.aop 代理xx 在真正对普通bean作为tartget创建代理proxy对象前,
先是找该类所对应所有的可以适配的 通知类集合时,
在 AbstarctAdvisorAutoProxyCreator 中

protected List<Advisor> findAdvisorsThatCanApply(
			List<Advisor> candidateAdvisors, Class<?> beanClass, String beanName) {

		ProxyCreationContext.setCurrentProxiedBeanName(beanName);
		try {
			return AopUtils.findAdvisorsThatCanApply(candidateAdvisors, beanClass);
		}
		finally {
			ProxyCreationContext.setCurrentProxiedBeanName(null);
		}
	}

而那个setxxxName 就是
加粗样式

public class ProxyCreationContext {

	/** ThreadLocal holding the current proxied bean name during Advisor matching */
	private static final ThreadLocal<String> currentProxiedBeanName =
			new NamedThreadLocal<>("Name of currently proxied bean");
发布了38 篇原创文章 · 获赞 0 · 访问量 2610

猜你喜欢

转载自blog.csdn.net/qq_39965727/article/details/104570036
今日推荐