日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java 注解 数据字典_Spring实现数据字典翻译

發布時間:2025/3/21 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 注解 数据字典_Spring实现数据字典翻译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在開始之前,首先我們要了解一個類:BeanPropertyWriter。

這個類是由SerializerFactory 工廠進行實例化的,其作用是對bean中的每個字段進行jackson操作的封裝,其中封裝了字段的一些元信息,和對此字段進行jackson序列化的操作。

采用Spring項目進行Web服務開發時,在獲取到數據后,Spring會通過BeanPropertyWriter對數據進行jackson封裝,將其轉換為Json串。

如果我們需要在不影響邏輯的情況下對數據進行字典翻譯,重寫此類是較好的選擇

字典翻譯實現步驟:

1.實現獲取字典的接口

public interface DictService{

/**

*key:字典類別

*value:字典代碼值

*return:字典代碼對應的value值

Object getValueByKey(String key,String value);

}

2.新建注解便于對需要轉換的字段進行區分

@Retention(RetentionPolicy.RUNTIME)

@Target({ElementType.FIELD})

@Documented

public @interface DictConverter{

String key() default "";

}

3.在需要翻譯的字段上添加該注解

@DictConverter(key="TEST)//數據字典中配有字典項為TEST的字典值

private String item;

4.新建SpringUtil類

@Component

public class SpringUtil implements ApplicationContextAware{

private static ApplicationContext applicationContext=null;

@Override

public void setApplicationContext(ApplicationContext applicationContext)throws BeansException{

if(this.applicationContext=null){

this.applicationContext=applicationContext;

}

}

//獲取applicationContext

public static ApplicationContext getApplicationContext(){return applicationContext;}

//通過name獲取Bean

public static Object getBean(String name){

return getApplicationContext().getBean(name);

}

//通過class獲取Bean

public static T Object getBean(Class clazz){

return getApplicationContext().getBean(clazz);

}

//通過name,以及Clazz返回指定的Bean

public static T Object getBean(String name,Class clazz){

return getApplicationContext().getBean(name,clazz);

}

}

5.重寫BeanPropertyWriter類(主要實現部分)

粘出BeanPropertyWriter的包名,在自己的工程下創建這個包

新建BeanPropertyWriter類,將jackson的源代碼copy過來

聲明剛才創建的DictService及注解

創建getDictService()用于獲取service對象

找到serializeAsField方法

private DictService dictService;

private DictConverter dictConverter;

private DictService getDictService(){

if(dictService==null){

dictService=SpringUtil.getBean(DictService.class);

}

return dictService;

}

public void serializeAsField(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception {

Object value = this._accessorMethod == null ? this._field.get(bean) : this._accessorMethod.invoke(bean);

//數據字典翻譯

try{

if(this._member.hasAnnotation(DictConverter.class)){

dictConverter=this._member.getAnnotation(DictConverter.class);

if(dictConverter!=null){

value=getDictService.getValueByKey(dictConverter.key(),value.toString());

if(value==null){

value = this._accessorMethod == null ? this._field.get(bean) : this._accessorMethod.invoke(bean);

}

}

}

}catch(Exception e){

//此處可能因字段類型出現報錯

value = this._accessorMethod == null ? this._field.get(bean) : this._accessorMethod.invoke(bean);

}

//以下部分不做修改,此處省略

}

* 為提高字典轉換速度,建議將DictService進行優化,將字典值存入緩存等,以提高頁面響應

總結

以上是生活随笔為你收集整理的java 注解 数据字典_Spring实现数据字典翻译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久综合久久鬼色 | 国产日批| 人人干97| 欧美不卡二区 | 国产精彩视频在线观看 | 久久久精彩视频 | 天堂在线| 泰坦尼克号3小时49分的观看方法 | 亚洲天堂2013 | 直接看的av网站 | av日韩一区二区 | 一本高清dvd在线播放 | 超碰2| 色网站免费观看 | 免费视频爱爱太爽 | 亚洲av日韩精品久久久久久久 | 全部孕妇毛片丰满孕妇孕交 | 国产盗摄一区二区三区在线 | 国产1区2区在线观看 | 欧美日韩亚洲二区 | 麻豆传媒观看 | 日韩免费不卡视频 | 日韩av网址在线观看 | 国产成人无码一区二区三区在线 | 日韩欧美一区在线观看 | 免费一级特黄特色毛片久久看 | 美国黄色一级视频 | 久草99 | 99爱爱 | 免费成人av网址 | 国产福利资源在线 | 黄色中文字幕 | 久久福利影院 | 国产农村av| www.日日| aaa国产| 欧美少妇毛茸茸 | 色就是色亚洲色图 | 欧美午夜一区二区 | 精品一区电影 | 中文日本在线 | 九九热这里有精品视频 | 成人a网站| 中文字幕欧美人妻精品一区蜜臀 | 空姐毛片 | 日韩日b| 天天干夜夜嗨 | 91精品国产综合久久久蜜臀 | 黄色在线观看免费 | 中国女人做爰视频 | 美女日批网站 | 天天操,夜夜操 | 视频一区在线观看 | 麻豆网站在线播放 | 久青草资源福利视频 | 久久国产精品一区二区三区 | 91亚洲视频在线 | 伊人一级片 | 成人午夜免费毛片 | 午夜性色福利视频 | 精品国产aⅴ一区二区三区东京热 | 毛片在线免费观看网站 | 永久免费54看片 | 97超碰在线免费 | 俺去日| 蜜臀av色欲a片无码精品一区 | 国产在线久久久 | 精品一区二区三区中文字幕 | 美女啪啪免费视频 | 操操操视频 | 日韩免费一级 | 亚洲日本网站 | 男女无遮挡免费视频 | 中文字幕人妻一区 | 九九精品久久 | 国产不卡在线 | 国产精品探花一区二区在线观看 | 国内精品久久久久久 | 古装做爰无遮挡三级视频 | 三点尽露的大尺度国产 | 日韩在线观看不卡 | 久久av色 | 国产性色av | 少妇一区二区三区四区 | 色图av | av一级大片 | 韩国性经典xxxxhd | 成人一区二区三区 | 亚洲国产精品激情在线观看 | 99久久99久久精品国产片果冻 | 波多野吉衣一区二区 | 成人午夜又粗又硬又大 | 黑人一区二区 | 91五月天| 夫の上司に犯波多野结衣853 | 免费在线观看小视频 | 欧美激情视频在线观看 | 国产成人av一区二区三区在线观看 | 麻豆av一区二区三区久久 |