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

本文介绍了如何使用Spring配置类结合反射来处理自定义注解,实现静态属性的注入。通过定义注解`Name`,在类或属性上使用,然后在配置类的`@PostConstruct`方法中,利用反射获取并注入注解值。同时讨论了为何注解只能用于静态属性,以及如何在构造方法中处理非静态属性的注解注入。
摘要由CSDN通过智能技术生成

如何通过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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值