「SpringBoot」 神奇的自动配置 AutoConfiguration

3.6 自动配置

3.6.1 直接导入配置类 Import

例:@EnableScheduling 中 @Import(SchedulingConfiguration.class)

3.6.2 依据条件选择配置类 Import

例:@EnableAsync 中 @Import(AsyncConfigurationSelector.class),AsyncConfigurationSelector 根接口为 ImportSelector,需重写 selectImports() 方法。

3.6.3 动态注册 Bean

例:@EnableAspectJAutoProxy 中 @Import(AspectJAutoProxyRegistrar.class)

AspectJAutoProxyRegistrar 实现了 ImportBeanDefinitionRegistrar 接口,ImportBeanDefinitionRegistrar能够在运行时自动添加 Bean 到已有的配置类。
需要重写方法:
registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)
  • AnnotationMetadata 获得当前配置类上的注解
  • BeanDefinitionRegistry 用来注册 Bean
发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();