1.springIOC接口UML类图
接口介绍:
BeanFactory:IOC容器的基础接口,实例化、配置和管理对象,接口定义的方法如下:
主要以获取bean为主,继承了该接口的接口有:AutowireCapableBeanFactory,HierarchicalBeanFactory,ListableBeanFactory。
1.AutowireCapableBeanFactory:获取这个BF的方法在ApplicationContext中:AutowireCapableBeanFactory getAutowireCapableBeanFactory();它的作用主要是为了装配applicationContext管理之外的Bean。
比如tomcat的中的某些bean?接口定义的方法如下:
2.HierarchicalBeanFactory:显示层次性,接口的方法如下:
3.ListableBeanFactory:接口可以获取配置中所有bean的信息。个人理解:对BeanFactory操作的是一个bean,ListableBeanFactory操作的是一批bean,接口方法如下图:
4.ConfigurableBeanFactory:它继承了HierarchicalBeanFactory和SingletonBeanRegistry,定义了一些提供配置bean的方法。设置父BF,设置ClassLoader,表达式解析等,定义的大部分方法如下(混个眼熟):
5.SingletonBeanRegistry:用于注册共享的单例实例。主要是注册单例,获取单例,是否包含某个单例的实例等,方法如下:
6.ConfigurableListableBeanFactory:继承了ListableBeanFactory(操作多个bean),ConfigurableBeanFactory(配置bean信息,包括单例等间接继承),AutowireCapableBeanFactory(共外部操作的BF),对于注入类型的一些方法使用,还有spring启动时对配置信息转成成BeanDefinition内的获取等方法。方法如下:
7.ApplicationContext:继承了ListableBeanFactory,HierarchicalBeanFactory,MessageSource(提供了消息处理的功能(i18n或者国际化)),ResourcePatternResolver(获取资源),ApplicationEventPublisher(ApplicationContext容器事件),EnvironmentCapable.
自己定义的一些方法如下图: