如何通过Spring配置类处理注解
- 定义注解
- 定义一个Spring配置类
- 在配置类中使用Java反射注入静态属性
定义注解
定义一个注解“Name”,Name注解可以接收一个String类型的属性,并且可以使用在类或者属性上
@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Name {
String value() default "";
}
定义Sping 配置类
定义一个Spring配置类,并使用@PostConstruct注解方法实现在Spring启动过程中处理注解
@Configuration
public class NameConfig {
List<Class> classList = new ArrayList<>();
@PostConstruct
public void init() {
//处理注解
}
}
使用Java反射注入静态属性
通过Java反射获取指定类的属性,并判断其中是否使用Name注解,有的话就获取Name注解的值,并注入到该静态属性中
tips:这里要指定会使用到Name注解的类,例子中就是Xiaohong.class
@Configuration
pub