Remove use of @Component from classes that are not scanned

Closes gh-7549
This commit is contained in:
Andy Wilkinson 2016-12-02 17:57:21 +00:00
parent b60150b05e
commit 1464425d64
7 changed files with 24 additions and 14 deletions

View File

@ -30,7 +30,6 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
/**
* A registry for all {@link MvcEndpoint} beans, and a factory for a set of generic ones
@ -39,7 +38,6 @@ import org.springframework.stereotype.Component;
*
* @author Dave Syer
*/
@Component
public class MvcEndpoints implements ApplicationContextAware, InitializingBean {
private ApplicationContext applicationContext;

View File

@ -32,7 +32,6 @@ import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.repository.support.JobRepositoryFactoryBean;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.util.StringUtils;
@ -42,7 +41,6 @@ import org.springframework.util.StringUtils;
* @author Dave Syer
* @author Andy Wilkinson
*/
@Component
public class BasicBatchConfigurer implements BatchConfigurer {
private static final Log logger = LogFactory.getLog(BasicBatchConfigurer.class);

View File

@ -50,7 +50,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.stereotype.Component;
import org.springframework.util.PatternMatchUtils;
import org.springframework.util.StringUtils;
@ -62,7 +61,6 @@ import org.springframework.util.StringUtils;
* @author Dave Syer
* @author Jean-Pierre Bergamin
*/
@Component
public class JobLauncherCommandLineRunner
implements CommandLineRunner, ApplicationEventPublisherAware {

View File

@ -47,7 +47,6 @@ import org.springframework.security.config.annotation.authentication.builders.Au
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter;
import org.springframework.security.config.annotation.authentication.configurers.provisioning.InMemoryUserDetailsManagerConfigurer;
import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
/**
@ -86,6 +85,11 @@ public class AuthenticationManagerConfiguration {
return new SpringBootAuthenticationConfigurerAdapter(securityProperties);
}
@Bean
public AuthenticationManagerConfigurationListener authenticationManagerConfigurationListener() {
return new AuthenticationManagerConfigurationListener();
}
/**
* {@link GlobalAuthenticationConfigurerAdapter} to apply
* {@link DefaultInMemoryUserDetailsManagerConfigurer}. We must apply
@ -193,7 +197,6 @@ public class AuthenticationManagerConfiguration {
* {@link ApplicationListener} to autowire the {@link AuthenticationEventPublisher}
* into the {@link AuthenticationManager}.
*/
@Component
protected static class AuthenticationManagerConfigurationListener
implements SmartInitializingSingleton {

View File

@ -38,7 +38,6 @@ import org.springframework.boot.web.servlet.ErrorPageRegistrar;
import org.springframework.boot.web.servlet.ErrorPageRegistry;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import org.springframework.web.util.NestedServletException;
@ -56,7 +55,6 @@ import org.springframework.web.util.NestedServletException;
* @author Andy Wilkinson
* @since 1.4.0
*/
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class ErrorPageFilter implements Filter, ErrorPageRegistry {

View File

@ -31,6 +31,7 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.util.Assert;
@ -126,7 +127,7 @@ public abstract class SpringBootServletInitializer implements WebApplicationInit
+ "configure method or add an @Configuration annotation");
// Ensure error pages are registered
if (this.registerErrorPageFilter) {
application.getSources().add(ErrorPageFilter.class);
application.getSources().add(ErrorPageFilterConfiguration.class);
}
return run(application);
}
@ -174,4 +175,17 @@ public abstract class SpringBootServletInitializer implements WebApplicationInit
return builder;
}
/**
* Configuration for {@link ErrorPageFilter}.
*/
@Configuration
static class ErrorPageFilterConfiguration {
@Bean
public ErrorPageFilter errorPageFilter() {
return new ErrorPageFilter();
}
}
}

View File

@ -25,6 +25,7 @@ import org.junit.rules.ExpectedException;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer.ErrorPageFilterConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.mock.web.MockServletContext;
import org.springframework.web.context.WebApplicationContext;
@ -58,15 +59,15 @@ public class SpringBootServletInitializerTests {
public void withConfigurationAnnotation() throws Exception {
new WithConfigurationAnnotation()
.createRootApplicationContext(this.servletContext);
assertThat(this.application.getSources())
.containsOnly(WithConfigurationAnnotation.class, ErrorPageFilter.class);
assertThat(this.application.getSources()).containsOnly(
WithConfigurationAnnotation.class, ErrorPageFilterConfiguration.class);
}
@Test
public void withConfiguredSource() throws Exception {
new WithConfiguredSource().createRootApplicationContext(this.servletContext);
assertThat(this.application.getSources()).containsOnly(Config.class,
ErrorPageFilter.class);
ErrorPageFilterConfiguration.class);
}
@Test