下面列出了org.springframework.context.ConfigurableApplicationContext#setParent ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void testDecryptNonStandardParent() {
ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext();
EnvironmentDecryptApplicationInitializer initializer = new EnvironmentDecryptApplicationInitializer(
Encryptors.noOpText());
TestPropertyValues.of("key:{cipher}value").applyTo(ctx);
ApplicationContext ctxParent = mock(ApplicationContext.class);
when(ctxParent.getEnvironment()).thenReturn(mock(Environment.class));
ctx.setParent(ctxParent);
initializer.initialize(ctx);
then(ctx.getEnvironment().getProperty("key")).isEqualTo("value");
}
@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);
}