Add declarative ApplicationListener

This commit is contained in:
Dave Syer
2014-01-07 17:52:37 +00:00
parent 73c2216732
commit 633dea9d80
9 changed files with 266 additions and 39 deletions

View File

@@ -20,13 +20,11 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringJUnitTests.TestConfiguration;
import org.springframework.boot.context.listener.ConfigFileApplicationListener;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.assertEquals;
@@ -36,7 +34,7 @@ import static org.junit.Assert.assertNotNull;
* @author Dave Syer
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestConfiguration.class, initializers = ConfigFileApplicationListener.class)
@SpringApplicationConfiguration(classes = TestConfiguration.class)
public class SpringJUnitTests {
@Autowired

View File

@@ -17,6 +17,8 @@
package org.springframework.boot.autoconfigure.security;
import org.junit.Test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringApplicationBeforeRefreshEvent;
import org.springframework.boot.TestUtils;
import org.springframework.boot.autoconfigure.AutoConfigurationReportLoggingInitializer;
import org.springframework.boot.autoconfigure.ComponentScanDetector;
@@ -118,7 +120,8 @@ public class SecurityAutoConfigurationTests {
AnnotationConfigWebApplicationContext context) {
TestUtils.addEnviroment(context, "debug:true");
LoggingApplicationListener logging = new LoggingApplicationListener();
logging.initialize(context);
logging.onApplicationEvent(new SpringApplicationBeforeRefreshEvent(
new SpringApplication(), context, new String[0]));
AutoConfigurationReportLoggingInitializer initializer = new AutoConfigurationReportLoggingInitializer();
initializer.initialize(context);
context.refresh();