欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)可配置換膚的方法示例

 更新時間:2022年06月14日 15:58:31   作者:斗笠小熊貓  
本文主要介紹了Java實現(xiàn)可配置換膚的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

夏天來了,是不是要給App換個夏天主題的皮膚呢?但是夏天過去后再換回默認皮膚難道還需要再重新發(fā)版么。不需要的,下面來編寫個通用的配置項接口,可以做個讓運營可配置的APP換膚功能。只要切換參數(shù)值,就可以讓App換回原來的皮膚。

接口設計

在設計接口前,需要考慮的是可能不只換膚需要頁面聯(lián)動變化,其他功能也需要,例如APP不同的版本,某個功能是否展示。這種通用的配置項,都可以使用一個接口返回。

所以考慮擴展性,使用自定義key\value方式傳值,和前端約定功能的key、value來設置APP展示效果就可以啦。

body需要包含最基本的是參數(shù)的key、參數(shù)的value。 例如 {"key":"skin","value":"summer"}

數(shù)據(jù)庫設計

由于夏季換膚功能是保證可復用性,比如總會出的某項活動,不需要每次都要研發(fā)的功能,就可以找到原有的配置繼續(xù)使用。所以可將配置類存儲到數(shù)據(jù)庫表中,并且在后臺運營系統(tǒng)增加切換設置功能頁面。

DROP TABLE IF EXISTS app_config;
CREATE TABLE app_config(
    ID VARCHAR(32) NOT NULL   COMMENT 'ID' ,
    KEY VARCHAR(255)    COMMENT '配置標識' ,
    VALUE VARCHAR(255)    COMMENT '配置值' ,
    CREATED_TIME DATETIME    COMMENT '創(chuàng)建時間' ,
    UPDATED_BY VARCHAR(32)    COMMENT '更新人' ,
    UPDATED_TIME DATETIME    COMMENT '更新時間' ,
    CREATED_BY VARCHAR(255)    COMMENT '創(chuàng)建人' ,
    REMARK VARCHAR(255)    COMMENT '備注' ,
    PRIMARY KEY (ID)
)  COMMENT = 'App配置表';

邏輯代碼

實體類

@ApiModel(value = "App配置表",description = "")
@Table(name="app_config")
public class AppConfig implements Serializable,Cloneable{
    /** ID */
    @Id
    @GeneratedValue
    @ApiModelProperty(name = "ID",notes = "")
    private String id ;
    /** 配置標識 */
    @ApiModelProperty(name = "配置標識",notes = "")
    private String key ;
    /** 配置值 */
    @ApiModelProperty(name = "配置值",notes = "")
    private String value ;
    /** 創(chuàng)建時間 */
    @ApiModelProperty(name = "創(chuàng)建時間",notes = "")
    private Date createdTime ;
    /** 更新人 */
    @ApiModelProperty(name = "更新人",notes = "")
    private String updatedBy ;
    /** 更新時間 */
    @ApiModelProperty(name = "更新時間",notes = "")
    private Date updatedTime ;
    /** 創(chuàng)建人 */
    @ApiModelProperty(name = "創(chuàng)建人",notes = "")
    private String createdBy ;
    /** 備注 */
    @ApiModelProperty(name = "備注",notes = "")
    private String remark ;
}

jpa

添加Repository,用于獲取數(shù)據(jù)庫中App配置信息。

public interface AppConfigRepository extends JpaRepository<AppConfig, String> {
}

controller

編寫獲取配置信息方法,一次性拿出全部配置,在前端取配置的key,根據(jù)具體業(yè)務處理接下來的換膚邏輯。

@GetMapping("/config")
public AppConfigDTO getAppConfigs() {
   return appConfigRepository.findAll();
}

返回示例

獲取到不同的value,來切換App的皮膚設置,是放在后端可維護的全局配置,列舉如下不同的設置。

  • 夏季皮膚設置:
{
    "key": "skin",
    "value": "Summer"
}
  • 春節(jié)皮膚設置:
{
    "key": "skin",
    "value": "SpringFestival"
}

最后

本文是以夏天換膚一個功能視角帶入的配置接口,很多App中可以使用通用配置的地方都可以按上面增加的這個配置類進行切換本身配置,讓我們的App更靈活,減少發(fā)版次數(shù)。

到此這篇關于Java實現(xiàn)可配置換膚的方法示例的文章就介紹到這了,更多相關Java 可配置換膚內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MyBatis加載映射文件和動態(tài)代理的實現(xiàn)

    MyBatis加載映射文件和動態(tài)代理的實現(xiàn)

    本文主要介紹了MyBatis加載映射文件和動態(tài)代理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Spring AOP底層源碼詳解

    Spring AOP底層源碼詳解

    這篇文章主要介紹了Spring AOP底層源碼詳解,幫助大家更好的理解和學習使用Spring AOP,感興趣的朋友可以了解下
    2021-03-03
  • java比較器Comparable接口與Comaprator接口的深入分析

    java比較器Comparable接口與Comaprator接口的深入分析

    本篇文章是對java比較器Comparable接口與Comaprator接口進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Spring Boot Admin 的使用詳解

    Spring Boot Admin 的使用詳解

    這篇文章主要介紹了Spring Boot Admin 的使用詳解,Spring Boot Admin 用于監(jiān)控基于 Spring Boot 的應用,有興趣的可以了解一下
    2017-09-09
  • java必懂的冷知識點之Base64加密與解密

    java必懂的冷知識點之Base64加密與解密

    這篇文章主要介紹了java必懂的冷知識點之Base64加密與解密的相關資料,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 詳解Spring Data JPA系列之投影(Projection)的用法

    詳解Spring Data JPA系列之投影(Projection)的用法

    本篇文章主要介紹了詳解Spring Data JPA系列之投影(Projection)的用法,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • 在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個代碼庫的實現(xiàn)

    在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個代碼庫的實現(xiàn)

    這篇文章主要介紹了在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個代碼庫的實現(xiàn),文中通過圖文示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 使用MyBatis進行簡單的更新與查詢方式

    使用MyBatis進行簡單的更新與查詢方式

    這篇文章主要介紹了使用MyBatis進行簡單的更新與查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • IDEA調試技巧條件斷點實現(xiàn)步驟詳解

    IDEA調試技巧條件斷點實現(xiàn)步驟詳解

    這篇文章主要介紹了IDEA調試技巧條件斷點實現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Redisson公平鎖的源碼解讀分享

    Redisson公平鎖的源碼解讀分享

    Redisson是一個在Redis的基礎上實現(xiàn)的Java駐內存數(shù)據(jù)網(wǎng)格(In-Memory?Data?Grid)。這篇文章主要通過源碼和大家聊聊Redisson公平鎖,需要的可以了解一下
    2022-11-11

最新評論