自定义注解注入属性值(基于反射和静态变量)

2023-10-27

如何通过Spring配置类处理注解

  1. 定义注解
  2. 定义一个Spring配置类
  3. 在配置类中使用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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义注解注入属性值(基于反射和静态变量) 的相关文章

随机推荐