【spring】javaConfig是如何替代spring.xml的
创始人
2025-05-30 11:00:39

目录

          • 一、xml形式
          • 二、javaConfig形式
          • 三、源码分析

一、xml形式
  • 1.spring容器为new ClassPathXmlApplicationContext(“spring.xml”);
  • 2.spring.xml用来配置bean的信息
  • 3.bean配置:
  • 4.扫描包:
  • 5.引入外部属性配置文件:
  • 6.注入基本属性:
  • 7.指定其它配置文件:
二、javaConfig形式
  • 1.spring容器为new AnnotationConfigApplicationContext(SpringConfig.class);
  • 2.@Configuration配置类
  • 3. bean配置:@Bean、@Scope(“singleton”)、@Lazy(false)
  • 4.扫描包:@ComponentScan
  • 5.引入外部属性配置文件@PropertySource(“classpath:db.properties”)
  • 6.注入基本属性:@Value(“${mysql.password}”)
  • 7.指定其它配置文件@Import({配置类})使用比较灵活
三、源码分析
  • 1.基于xml形式与javaConfig形式都会加载配置信息,读取配置信息生成BeanDefinition,后面根据BeanDefinition生成Bean的逻辑是一样的,读取配置类都是实现了BeanDefinitionReader接口的两个实现类
  • 2.xml形式加载xml、读取xml配置文件,xml的为XmlBeanDefinitionReader(loadBeanDefinitions)
  • 3.javaConfig形式加载配置类、javaConfig的为AnnotatedBeanDefinitionReader(this.reader.register(annotatedClasses));
  • 3.xml解析配置文件也在loadBeanDefinitions(DefaultBeanDefinitionDocumentReader解析)中
  • 4.javaConfig采用BeanDefinitionRegistryPostProcess扩展点(ConfigurationClassParser配置类解析器解析)
  • 5.xml解析
  • 6.javaConfig解析@Bean、@Component
  • 7.解析完之后都会注册为BeanDefinition

相关内容

热门资讯

智能化工程项目经理职责范本 智...   职责一:智能化工程项目经理职责   1、 负责所有的工程管理工作;   2、 负责跟踪工作范围内...
音乐室管理员的岗位职责 小学音...   1、 乐室必须有专人保管,不经许可外人不得擅自动用器械设备。   2、本室用于音乐教学,上音乐课...
音乐室管理员岗位职责范文 音乐...   学校音乐室管理人员,应热爱音乐事业,认真学习,努力提高业务水平,尽职尽责做好音乐室的管理工作。 ...
走近Netflix的“内容女王... 如果这家流媒体巨头顺利完成对华纳兄弟 (Warner Bros.)的收购,贝拉·巴贾里亚将有望成为好...
左右晚清局势的恭亲王奕訢,为何... 晚清政局上,恭亲王奕訢影响力极大,足以左右局势的发展。他原本有望登上皇位。在道光的子嗣中,奕訢能力最...