Move code to right package (#8285)
* Move code to rigth package * Move code to correct module
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package com.baeldung.componentscan.filter.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.TYPE)
|
||||
public @interface Animal {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.baeldung.componentscan.filter.annotation;
|
||||
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Animal.class))
|
||||
public class ComponentScanAnnotationFilterApp {
|
||||
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.baeldung.componentscan.filter.annotation;
|
||||
|
||||
@Animal
|
||||
public class Elephant {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.aspectj;
|
||||
|
||||
public class Cat {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.baeldung.componentscan.filter.aspectj;
|
||||
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ,
|
||||
pattern = "com.baeldung.componentscan.filter.aspectj.* "
|
||||
+ "&& !(com.baeldung.componentscan.filter.aspectj.L* "
|
||||
+ "|| com.baeldung.componentscan.filter.aspectj.C*)"))
|
||||
public class ComponentScanAspectJFilterApp {
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.aspectj;
|
||||
|
||||
public class Elephant {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.aspectj;
|
||||
|
||||
public class Loin {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.assignable;
|
||||
|
||||
public interface Animal {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.assignable;
|
||||
|
||||
public class Cat implements Animal {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.baeldung.componentscan.filter.assignable;
|
||||
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = Animal.class))
|
||||
public class ComponentScanAssignableTypeFilterApp {
|
||||
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.assignable;
|
||||
|
||||
public class Elephant implements Animal {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
public class Cat {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
import org.springframework.core.type.ClassMetadata;
|
||||
import org.springframework.core.type.classreading.MetadataReader;
|
||||
import org.springframework.core.type.classreading.MetadataReaderFactory;
|
||||
import org.springframework.core.type.filter.TypeFilter;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class ComponentScanCustomFilter implements TypeFilter {
|
||||
|
||||
@Override
|
||||
public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException {
|
||||
ClassMetadata classMetadata = metadataReader.getClassMetadata();
|
||||
String fullyQualifiedName = classMetadata.getClassName();
|
||||
String className = fullyQualifiedName.substring(fullyQualifiedName.lastIndexOf(".") + 1);
|
||||
return className.length() > 5 ? true : false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.CUSTOM, classes = ComponentScanCustomFilter.class))
|
||||
public class ComponentScanCustomFilterApp {
|
||||
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
public class Elephant {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
public class Loin {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.regex;
|
||||
|
||||
public class Cat {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.baeldung.componentscan.filter.regex;
|
||||
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(includeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*(nt)"))
|
||||
public class ComponentScanRegexFilterApp {
|
||||
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.regex;
|
||||
|
||||
public class Elephant {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.baeldung.componentscan.filter.regex;
|
||||
|
||||
public class Loin {
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.baeldung.componentscan.filter.annotation;
|
||||
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ComponentScanAnnotationFilterApp.class)
|
||||
public class ComponentScanAnnotationFilterAppIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void whenAnnotationFilterIsUsed_thenComponentScanShouldRegisterBeanAnnotatedWithAnimalAnootation() {
|
||||
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanAnnotationFilterApp.class);
|
||||
List<String> beans = Arrays.stream(applicationContext.getBeanDefinitionNames())
|
||||
.filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanAnnotationFilterApp"))
|
||||
.collect(Collectors.toList());
|
||||
assertThat(beans.size(), equalTo(1));
|
||||
assertThat(beans.get(0), equalTo("elephant"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.baeldung.componentscan.filter.aspectj;
|
||||
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ComponentScanAspectJFilterApp.class)
|
||||
public class ComponentScanAspectJFilterAppIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void whenAspectJFilterIsUsed_thenComponentScanShouldRegisterBeanMatchingAspectJCreteria() {
|
||||
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanAspectJFilterApp.class);
|
||||
List<String> beans = Arrays.stream(applicationContext.getBeanDefinitionNames())
|
||||
.filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanAspectJFilterApp"))
|
||||
.collect(Collectors.toList());
|
||||
assertThat(beans.size(), equalTo(1));
|
||||
assertThat(beans.get(0), equalTo("elephant"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.baeldung.componentscan.filter.assignable;
|
||||
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ComponentScanAssignableTypeFilterApp.class)
|
||||
public class ComponentScanAssignableTypeFilterAppIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void whenAssignableTypeFilterIsUsed_thenComponentScanShouldRegisterBean() {
|
||||
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanAssignableTypeFilterApp.class);
|
||||
List<String> beans = Arrays.stream(applicationContext.getBeanDefinitionNames())
|
||||
.filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanAssignableTypeFilterApp"))
|
||||
.collect(Collectors.toList());
|
||||
assertThat(beans.size(), equalTo(2));
|
||||
assertThat(beans.contains("cat"), equalTo(true));
|
||||
assertThat(beans.contains("elephant"), equalTo(true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.baeldung.componentscan.filter.custom;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ComponentScanCustomFilterApp.class)
|
||||
public class ComponentScanCustomFilterAppIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void whenCustomFilterIsUsed_thenComponentScanShouldRegisterBeanMatchingCustomFilter() {
|
||||
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanCustomFilterApp.class);
|
||||
List<String> beans = Arrays.stream(applicationContext.getBeanDefinitionNames())
|
||||
.filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanCustomFilterApp")
|
||||
&& !bean.contains("componentScanCustomFilter"))
|
||||
.collect(Collectors.toList());
|
||||
assertThat(beans.size(), equalTo(1));
|
||||
assertThat(beans.get(0), equalTo("elephant"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.baeldung.componentscan.filter.regex;
|
||||
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ComponentScanRegexFilterApp.class)
|
||||
public class ComponentScanRegexFilterAppIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void whenRegexFilterIsUsed_thenComponentScanShouldRegisterBeanMatchingRegex() {
|
||||
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(ComponentScanRegexFilterApp.class);
|
||||
List<String> beans = Arrays.stream(applicationContext.getBeanDefinitionNames())
|
||||
.filter(bean -> !bean.contains("org.springframework") && !bean.contains("componentScanRegexFilterApp"))
|
||||
.collect(Collectors.toList());
|
||||
assertThat(beans.size(), equalTo(1));
|
||||
assertThat(beans.contains("elephant"), equalTo(true));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user