org.springframework.context.ConfigurableApplicationContext#start ( )源码实例Demo

下面列出了org.springframework.context.ConfigurableApplicationContext#start ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: joyrpc   文件: SpringMultiContextTest.java
@Test
public void testPlugin() {
    ConfigurableApplicationContext context = new AnnotationConfigApplicationContext(SpringLoaderAutoConfiguration.class, ConsumerAutoConfiguration.class);
    context.setParent(parent);
    context.start();
    ExtensionPoint<Consumer, String> consumer = new ExtensionPointLazy<Consumer, String>(Consumer.class);
    Assert.assertEquals(consumer.size(), 2);
    Consumer target = consumer.get();
    Assert.assertNotNull(target);
    context.close();
    Assert.assertEquals(consumer.size(), 1);
    target = consumer.get();
    Assert.assertNotNull(target);
}
 
public static void main(String[] args) {
    // 创建 ConfigurableApplicationContext 实例 GenericApplicationContext
    ConfigurableApplicationContext context = new GenericApplicationContext();
    System.out.println("创建 Spring 应用上下文 : " + context.getDisplayName());
    // 添加 ApplicationListener 非泛型实现
    context.addApplicationListener(event ->
            System.out.println(event.getClass().getSimpleName())
    );

    // refresh() : 初始化应用上下文
    System.out.println("应用上下文准备初始化...");
    context.refresh(); // 发布 ContextRefreshedEvent
    System.out.println("应用上下文已初始化...");

    // stop() : 停止应用上下文
    System.out.println("应用上下文准备停止启动...");
    context.stop();    // 发布 ContextStoppedEvent
    System.out.println("应用上下文已停止启动...");

    // start(): 启动应用上下文
    System.out.println("应用上下文准备启动启动...");
    context.start();  // 发布 ContextStartedEvent
    System.out.println("应用上下文已启动启动...");

    // close() : 关闭应用上下文
    System.out.println("应用上下文准备关闭...");
    context.close();  // 发布 ContextClosedEvent
    System.out.println("应用上下文已关闭...");

}
 
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
	ConfigurableApplicationContext source = (ConfigurableApplicationContext) event
			.getSource();
	if (source == this.applicationContext && !source.isRunning()) {
		source.start();
	}
}
 
源代码4 项目: tutorials   文件: SpringRunner.java
public static void main(String[] args) {
    ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(EventConfig.class);
    ctx.start();
}
 
private void testOnceApplicationContextEventListener(int levels, boolean listenersAsBean) {

        ConfigurableApplicationContext context = createContext(levels, listenersAsBean);

        context.start();

        context.stop();

        context.close();

    }