Spring源码分析 待续

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】

1.IOC接口设计

1.IOC接口设计以BeanFactory和ApplicationContext为核心,分两设计路线

1.1从BeanFactory到ConfigurableListableBeanFactory(Beans jar包)

1.2以ApplicationContext为核心接口,从BeanFactory到ApplicationContext,再到ConfigurableApplicationContext(Context jar包),并且为了可以在Web环境下使用,实现了WebApplicationContext。

2.BeanFactory是一种最基本的IOC容器,包含了IOC最基本的功能。

3.ApplicationContext通过继承MessageSource、ResourcePatternResolver、ApplicationEventPublisher、EnvironmentCapable接口,在BeanFactory简单的IOC容器基础上添加了许多高级容器的特性。也就是说基本上ApplicationContext除了包含IOC基本的功能外,还附加了更高级的功能,并且更好扩展性更强。应用中可以ApplicationContext使用为主。

4.如下图是IOC接口设计图
20191017100172\_1.png

2.BeanFactory

主要的BeanFactory有XmlBeanFactory(Spring建议弃用,可以使用DefaultListableBeanFactory编程实现)和DefaultListableBeanFactory(重要,后续ApplicationContext的内置BeanFactory对象是这个类)。

IOC容器实现的三个关键类:Resource、BeanFactory、BeanDefinitionReader。

IOC编程式实现大致步骤如下(即XmlBeanFactory的实现方式)

  1. ClassPathResource res = newClassPathResource(“beans.xml”);

2.DefaultListableBeanFactory factory = new DefaultListableBeanFactory();

3.XmlBeanDefinitionReader reader = newXmlBeanDefinitionReader(fatory);

4.reader.loadBeanDefinitions(res);

如下图是BeanFactory类图

20191017100172\_2.png


来源:[]()

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » Spring源码分析 待续

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏