亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring中如何初始化自定義注解

spring中如何初始化自定義注解

函數式編程 2021-08-04 17:07:29
如果我定義一個注釋來設置類字段,如下所示:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)@interface Set {    int value();}經過必要的反思:class Injector {    public static void inject(Object instance) {        Field[] fields = instance.getClass().getDeclaredFields();        for (Field field : fields) {            if (field.isAnnotationPresent(Set.class)) {                Set set = field.getAnnotation(Set.class);                field.setAccessible(true); // should work on private fields                try {                    field.set(instance, set.value());                } catch (Exception e) {                    e.printStackTrace();                }            }        }    }}我會像這樣使用它:class Demo {    @Set(1)    public int var;    public int var2;}我將如何在啟動時在 spring(不是 spring-boot)中注入它?我在這里找到了這個例子,但我不想自己調用注入方法。
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您可以為BeanPostProcessorspring 上下文提供一個。


public class Injector implements BeanPostProcessor {

  @Override

  public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {

    inject(bean);

    return bean;

  }

}


查看完整回答
反對 回復 2021-08-04
  • 1 回答
  • 0 關注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號