应用上下文配置类(ConfigurableApplicationContext)

David 2022-09-28 23:11:03
Categories: Tags:

 



 

 

 

方法

说明

getBean()

获取容器中的bean对象

getBeanFactory()

返回此应用上下文的容器

getBeanDefinitionNames()

获取所有容器中的bean对象

getBeanDefinitionCount()

获取所有容器中的bean对象数量

setId()

设置容器的唯一ID

setParent()

设置此容器的父容器,父容器一经设定就不应该修改,一般不对父容器修改

setEnvironment()

设置容器的Environment变量

getEnvironment()

ConfigurableEnvironment的形式返回此容器的环境变量。以使用户更好的进行配置

addBeanFactoryPostProcessor()

向此容器中增加BeanFactoryPostProcessor,增加的Processor会在容器refresh的时候使用

addApplicationListener()

向容器增加一个ApplicationListener,增加的Listener用于发布上下文事件如refreshshutdown

需要注意的是,如果此上下文还没有启动,那么在此注册的Listener将会在上下文refresh的时候,全部被调用

如果上下文已经是active状态的了,就会在multicaster中使用

addProtocolResolver()

向容器中注入给定的Protocol resolver,允许多个实例同时存在

在此注册的每一个resolver都将会在上下的标准解析规则之前使用。

refresh()

加载资源配置文件(XMLproperties,Whatever

由于此方法是一个初始化方法,因此如果调用此方法失败的情况下,要将其已经创建的Bean销毁

registerShutdownHook()

JVM注册一个回调函数,用以在JVM关闭时,销毁此应用上下文

close()

关闭此应用上下文,释放其所占有的所有资源和锁。并销毁其所有创建好的singleton Beans

实现的时候,此方法不应该调用其父上下文的close方法,因为其父上下文具有自己独立的生命周期

isActive()

检测此FactoryBean是否被启动过

示例

@SpringBootApplication

public class DemoApplication {

 

    public static void main(String[] args) {

        ConfigurableApplicationContext run = SpringApplication.run(DemoApplication.class, args);

User user=run.getBean(User.class);

System.out.println(user);

    }

}