最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java利用反射動(dòng)態(tài)設(shè)置對(duì)象字段值的實(shí)現(xiàn)

 更新時(shí)間:2024年01月04日 09:24:54   作者:chao09_01  
橋梁信息維護(hù)需要做到字段級(jí)別的權(quán)限控制,本文主要介紹了Java利用反射動(dòng)態(tài)設(shè)置對(duì)象字段值的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

項(xiàng)目場(chǎng)景:

橋梁信息維護(hù)需要做到字段級(jí)別的權(quán)限控制(包括增刪改查),設(shè)計(jì)包含字段權(quán)限配置、字段權(quán)限級(jí)別管理維護(hù)接口兩大部分。

1)字段權(quán)限配置可參考常見(jiàn)的用戶(hù)角色管理設(shè)計(jì);

2)對(duì)于增刪改操作,出入?yún)⒖蓞⒖汲S玫淖侄蝹鲄ⅲ粚?duì)于查找操作,返回每一個(gè)字段定義可參考如下:

@Data
public class BridgeFieldDTO {
    /**
     * 是否顯示
     */
    private Boolean show = false;
    /**
     * 字段取值
     */
    private Object value;
    /**
     * 字段翻譯
     */
    private String valueTranslation;
}

字段級(jí)別的權(quán)限控制可參考如下思路實(shí)現(xiàn):

1)按照正常邏輯接受或者查詢(xún)結(jié)果

2)建立新對(duì)象,根據(jù)字段級(jí)別權(quán)限控制將接受或查詢(xún)結(jié)果放到新對(duì)象中;

增刪改情況,沒(méi)有字段權(quán)限的字段設(shè)置成null值;

查詢(xún)情況,每個(gè)字段按照上述字段定義進(jìn)行返回;

如何做到字段級(jí)別的權(quán)限控制,以下是java利用反射機(jī)制實(shí)現(xiàn)的參考代碼:

其中核心方法包括:

獲取字段屬性:

Class<?> originClazz = NavigableBridgePO.class;
Field[] fields = originClazz.getDeclaredFields();
Map<String,Class> fieldMap = new HashMap<>();
for(Field field: fields){
    fieldMap.put(field.getName(),field.getType());
}

讀數(shù)據(jù):

Class<?> originClazz = NavigableBridgePO.class;
Method getMethod = originClazz.getMethod(getMethodName);
Object getValue = getMethod.invoke(navigableBridgePO);

寫(xiě)數(shù)據(jù):

Class<?> changedClazz = NavigableBridgePO.class;
Method setMethod = changedClazz.getMethod(setMethodName,fieldMap.get(sysRoleFieldPO.getField()));
setMethod.invoke(changedNavigableBridge, getValue);

到此這篇關(guān)于Java利用反射動(dòng)態(tài)設(shè)置對(duì)象字段值的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java動(dòng)態(tài)設(shè)置對(duì)象字段值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java concurrency集合之ConcurrentSkipListMap_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency集合之ConcurrentSkipListMap_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency集合之ConcurrentSkipListMap的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 淺談hibernate之映射文件VS映射注解

    淺談hibernate之映射文件VS映射注解

    下面小編就為大家?guī)?lái)一篇淺談hibernate之映射文件VS映射注解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Spring集成Redis詳解代碼示例

    Spring集成Redis詳解代碼示例

    這篇文章主要介紹了Spring集成Redis詳解代碼示例,介紹了Eclipse工程結(jié)構(gòu),POM依賴(lài),Spring配置,Redis配置信息以及Java代碼等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • arthas排查jvm中CPU占用過(guò)高問(wèn)題解決

    arthas排查jvm中CPU占用過(guò)高問(wèn)題解決

    這篇文章主要介紹了arthas排查jvm中CPU占用過(guò)高問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • MyBatis Generator配置生成接口和XML映射文件的實(shí)現(xiàn)

    MyBatis Generator配置生成接口和XML映射文件的實(shí)現(xiàn)

    本文介紹了配置MBG以生成Mapper接口和XML映射文件,過(guò)合理使用MBG和自定義生成策略,可以有效解決生成的Example類(lèi)可能帶來(lái)的問(wèn)題,使代碼更加簡(jiǎn)潔和易于維護(hù)
    2025-02-02
  • IDEA配置文件application.properties亂碼問(wèn)題及解決過(guò)程

    IDEA配置文件application.properties亂碼問(wèn)題及解決過(guò)程

    在IntelliJ IDEA中打開(kāi)application.properties時(shí),中文注釋出現(xiàn)亂碼,原因多為文件編碼設(shè)置不正確,即使顯示UTF-8仍可能亂碼,解決方法是設(shè)置屬性文件默認(rèn)編碼為UTF-8,保存后注釋可正常顯示
    2025-09-09
  • MybatisPlus多表連接查詢(xún)的具體實(shí)現(xiàn)

    MybatisPlus多表連接查詢(xún)的具體實(shí)現(xiàn)

    MyBatis Plus是一款針對(duì)MyBatis框架的增強(qiáng)工具, 它提供了很多方便的方法來(lái)實(shí)現(xiàn)多表聯(lián)查,本文主要介紹了MybatisPlus多表連接查詢(xún)的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Java 非阻塞I/O使用方法

    Java 非阻塞I/O使用方法

    這篇文章主要介紹了Java 非阻塞I/O使用方法,文中涉及非阻塞I/O的簡(jiǎn)介,同時(shí)向大家展示了利用非阻塞I/O實(shí)現(xiàn)客戶(hù)端的方法,需要的朋友可以參考下。
    2017-09-09
  • java通過(guò)共享變量結(jié)束run停止線(xiàn)程的方法示例

    java通過(guò)共享變量結(jié)束run停止線(xiàn)程的方法示例

    這篇文章主要介紹了java通過(guò)共享變量結(jié)束run停止線(xiàn)程的方法,大家參考使用
    2013-11-11
  • 前端和后端時(shí)間不一致問(wèn)題解決的實(shí)踐指南

    前端和后端時(shí)間不一致問(wèn)題解決的實(shí)踐指南

    這篇文章主要給大家介紹了關(guān)于前端和后端時(shí)間不一致問(wèn)題解決的實(shí)踐指南,在SpringBoot項(xiàng)目中,可以通過(guò)設(shè)置application.yml文件中的屬性來(lái)統(tǒng)一時(shí)間格式和時(shí)區(qū),從而確保序列化和反序列化過(guò)程中的時(shí)間和時(shí)區(qū)一致性,需要的朋友可以參考下
    2025-01-01

最新評(píng)論

邹城市| 定远县| 衡阳市| 许昌县| 交城县| 鄂伦春自治旗| 龙游县| 改则县| 蓝田县| 唐河县| 颍上县| 泸西县| 利津县| 错那县| 衢州市| 平乐县| 新宁县| 乌拉特前旗| 昌邑市| 五常市| 上高县| 定安县| 霍山县| 江口县| 和硕县| 怀安县| 铜陵市| 开平市| 大渡口区| 东海县| 和平县| 建平县| 灵寿县| 凌源市| 天峨县| 商城县| 武平县| 丘北县| 涪陵区| 策勒县| 凭祥市|