3.5 Spring高级话题: 组合注解和元注解
3.5 Spring 组合注解和元注解
元注解和组合注解:
可以注解到别的注解的注解,反之,被注解的注解就是组合注解
配置过程
1.使用元注解去注解组合注解
-> String[] value() default {}; 用于覆盖
1.自定义组合注解
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
@Configuration
@ComponentScan
public @interface MyCombinatorialAnnotation {
/**
* 用于覆盖
*
* @return
*/
String[] value() default {};
}
2.使用自定义组合注解配置java配置
import org.springframework.context.annotation.Bean;
import java.util.ArrayList;
import java.util.List;
@MyCombinatorialAnnotation("com.sgx.inspect.bug.combinatorial")
public class MyCombinatorialConfigure {
@Bean
public List getMacBean() {
System.out.println("自定义组合注解初始化Bean");
List list = new ArrayList();
list.add("自定义组合注解");
return list;
}
}
3.测试使用
import com.sgx.inspect.bug.combinatorial.MyCombinatorialConfigure;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.List;
public class Main4 {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyCombinatorialConfigure.class);
List bean = context.getBean(List.class);
System.out.println("bean:" + bean.get(0));
}
}
4.输出
自定义组合注解初始化Bean
bean:自定义组合注解