Spring Boot 2.0 | Spring BeanFactory详解

Spring Boot 2.0 - Spring BeanFactory详解

标签(空格分隔): springboot


  • springboot2.0 怎样创建BeanFactory
  • 解析BeanFactory工厂模式
  • 工厂模式的好处

首先我们看BeanFactory的类图,ServletWebServerApplicationContext
这个类看到有没有很熟悉。我先再把焦点转向springboot的main函数的run方法。

此处输入图片的描述

SpringApplication run方法,createApplicationContext()创建spring应用上下文。

此处输入图片的描述

BeanUtils.instantiateClass(contextClass);此处springboot实例化了contextClass,需要判断webApplicationType的类型,如果是SERVLET旧实例化默认的DEFAULT_WEB_CONTEXT_CLASS

public static final String DEFAULT_WEB_CONTEXT_CLASS = "org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext";

此处输入图片的描述

AnnotationConfigServletWebServerApplicationContext类的构造方法,它实现了BeanFactory的接口。至此springboot2.0创建BeanFactory就到这里了。下面讲讲工厂方法设计模式的好处。
此处输入图片的描述

可以一定程度增加扩展性,若增加一个产品实现,只需要实现产品接口,修改工厂创建产品的方法,消费者可以无感知(若消费者不关心具体产品是什么的情况)。
可以一定程度增加代码的封装性、可读性。清楚的代码结构,对于消费者来说很少的代码量就可以完成很多工作。
等等。//TODO

探果网

posted @ 2018-09-03 13:33  谭果  阅读(968)  评论(0编辑  收藏  举报