Home / Class/ AutoConfigurationExcludeFilterTests Class — spring-boot Architecture

AutoConfigurationExcludeFilterTests Class — spring-boot Architecture

Architecture documentation for the AutoConfigurationExcludeFilterTests class in AutoConfigurationExcludeFilterTests.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilterTests.java lines 42–83

class AutoConfigurationExcludeFilterTests {

	private static final Class<?> FILTERED = ExampleFilteredAutoConfiguration.class;

	private @Nullable AnnotationConfigApplicationContext context;

	@AfterEach
	void cleanUp() {
		if (this.context != null) {
			this.context.close();
		}
	}

	@Test
	void filterExcludeAutoConfiguration() {
		this.context = new AnnotationConfigApplicationContext(Config.class);
		assertThat(this.context.getBeansOfType(String.class)).hasSize(1);
		assertThat(this.context.getBean(String.class)).isEqualTo("test");
		assertThatExceptionOfType(NoSuchBeanDefinitionException.class).isThrownBy(() -> {
			assertThat(this.context).isNotNull();
			this.context.getBean(FILTERED);
		});
	}

	@Configuration(proxyBeanMethods = false)
	@ComponentScan(basePackageClasses = ExampleConfiguration.class,
			excludeFilters = @ComponentScan.Filter(type = FilterType.CUSTOM,
					classes = TestAutoConfigurationExcludeFilter.class))
	static class Config {

	}

	static class TestAutoConfigurationExcludeFilter extends AutoConfigurationExcludeFilter {

		@Override
		protected List<String> getAutoConfigurations() {
			return Collections.singletonList(FILTERED.getName());
		}

	}

}

Domain

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free