Spring Boot【原理分析】(4)——ConfigurationClassEnhancer
来源:互联网 发布:ppt mac版下载 编辑:程序博客网 时间:2024/06/07 18:16
一、简介
Configuration class会在ConfigurationClassPostProcessor中将Configuration class进行强化处理。Spring通过CGLIB进行动态代理。核心类ConfigurationClassEnhancer。
二、源码
private Enhancer newEnhancer(Class<?> superclass, ClassLoader classLoader) { Enhancer enhancer = new Enhancer(); // 设置父类Configuration enhancer.setSuperclass(superclass); // 用于设置beanFactory enhancer.setInterfaces(new Class<?>[] {EnhancedConfiguration.class}); enhancer.setUseFactory(false); // 用于命名BySpringCGLIB enhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE); // 定义beanFactory属性名,暴露ClassLoader enhancer.setStrategy(new BeanFactoryAwareGeneratorStrategy(classLoader)); // 设置代理回调: // BeanMethodInterceptor,**核心@Bean方法调用**。 // BeanFactoryAwareMethodInterceptor,提供setBeanFactory(BeanFactory)调用 enhancer.setCallbackFilter(CALLBACK_FILTER); enhancer.setCallbackTypes(CALLBACK_FILTER.getCallbackTypes()); return enhancer;}
ConfigurationClassEnhancer主要对Scope和AOP进行处理。
0 0
- Spring Boot【原理分析】(4)——ConfigurationClassEnhancer
- Spring Boot【原理分析】(1)——SpringApplication
- Spring Boot【原理分析】(2)——ApplicationContext
- Spring Boot【原理分析】(3)——BeanDefinition
- spring boot启动原理分析
- spring boot 启动原理分析
- 【Spring Boot】spring boot应用启动原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- Spring Boot实战与原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- Spring Boot WAR包运行原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- spring boot应用启动原理分析
- 第二天学习php 2016年12月30日
- Git入门
- CSS3 -webkit-transition(属性渐变)
- 京东11.11:商品搜索系统架构设计解密
- Windows Server搭建SSL 安全Web网站
- Spring Boot【原理分析】(4)——ConfigurationClassEnhancer
- 企业如何选择加密软件?
- SurvivalShooter学习笔记(八.敌人管理器)
- 【web前端】给个接口链接,输出返回值
- 电源电子电路设计图TOP11经典分析 - 全文
- 学习markdownpad使用一
- Mac OS X terminal 如何获取上一条命令最后一个 word
- 2016全年总结
- vue ——Vue实例