欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Application 继承的接口

程序员文章站 2022-07-15 12:29:20
...

BeanFactory

1 Object getBean(String name) throws BeansException;

为实现这个接口需要

1.1 线程安全的数据结构保存bean的定义信息

1.2 可以通过bean的ID和类型找到这个bean定义

1.3 线程安全的数据结构保存已创建过的对象(单例bean实例复用)

1.4 父子容器,子容器无时从父容器中找

1.5  需要判断bean的作用域

 

2  <T> T getBean(String name, Class<T> requiredType) throws BeansException;

泛型,根据传入的class类型   将1 接口中的Object 对象转换为目标类型对象并返回

 

3  Object getBean(String name, Object... args) throws BeansException;

获得 指定构造方法参数 的对象

4  <T> T getBean(Class<T> requiredType) throws BeansException;

获得指定class 类型的对象 class名首字母变小些作为name找对应对象?

5  <T> T getBean(Class<T> requiredType, Object... args) throws BeansException;

6 <T> ObjectProvider<T> getBeanProvider(Class<T> requiredType);

7 <T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType);

8 boolean containsBean(String name);

判断指定name的bean是否在此容器或其父容器中

9 boolean isSingleton(String name) throws NoSuchBeanDefinitionException;

判断指定name的bean是否是单例的

10 boolean isPrototype(String name) throws NoSuchBeanDefinitionException;

11 String[] getAliases(String name);

返回指定name的bean的所有别名

 

ListableBeanFactory
Application 继承的接口

批量获取bean实例,批量获取bean名字的接口   不用像BeanFactory一样只能一个一个获取。 使用时不需要考虑已注册的bean和父容器中的bean

 

HierarchicalBeanFactory

1 BeanFactory getParentBeanFactory();  // 返回父容器实例
2 boolean containsLocalBean(String name); // 忽略父容器  查询某个名字的bean是否存在

Environment

当前应用运行的环境

 

MessageSource

Application 继承的接口

提供了三个获取消息的接口

差异在于  1 消息不存在时返回默认消息还是抛出异常 以及 2 入参的不同

 

ApplicationEventPublisher

向所有注册监听此事件变化的观察者发送事件变化

void publishEvent(Object event);

 

ResourcePatternResolver

资源解析器

1 Resource[] getResources(String locationPattern) throws IOException;

批量加载资源

2 Resource getResource(String location);

加载单个资源

3 ClassLoader getClassLoader();

获得类加载器

相关标签: spring