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

SpringBoot Redis配置Fastjson進行序列化和反序列化實現(xiàn)

 更新時間:2019年10月25日 16:17:47   作者:碼農(nóng)云帆哥  
這篇文章主要介紹了SpringBoot Redis配置Fastjson進行序列化和反序列化實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

FastJson是阿里開源的一個高性能的JSON框架,F(xiàn)astJson數(shù)據(jù)處理速度快,無論序列化(把JavaBean對象轉(zhuǎn)化成Json格式的字符串)和反序列化(把JSON格式的字符串轉(zhuǎn)化為Java Bean對象),都是當(dāng)之無愧的fast;功能強大(支持普通JDK類,包括javaBean, Collection, Date 或者enum);零依賴(沒有依賴其他的任何類庫)。

1、寫一個自定義序列化類

/**
 * 自定義序列化類
 * @param <T>
 */
public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {

  public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
  private Class<T> clazz;

  public FastJsonRedisSerializer(Class<T> clazz) {
    super();
    this.clazz = clazz;
  }

  @Override
  public byte[] serialize(T t) throws SerializationException {
    if (null == t) {
      return new byte[0];
    }
    return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
  }

  @Override
  public T deserialize(byte[] bytes) throws SerializationException {
    if (null == bytes || bytes.length <= 0) {
      return null;
    }
    String str = new String(bytes, DEFAULT_CHARSET);
    return (T) JSON.parseObject(str, clazz);
  }

}

2、寫一個Redis配置類

@Configuration
public class RedisConfiguration {

  @Bean
  public RedisTemplate<Object, Object> redisTemplate(
      RedisConnectionFactory redisConnectionFactory) {
    RedisTemplate<Object, Object> template = new RedisTemplate<>();
    //使用fastjson序列化
    FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer(Object.class);
    // value值的序列化采用fastJsonRedisSerializer
    template.setValueSerializer(fastJsonRedisSerializer);
    template.setHashValueSerializer(fastJsonRedisSerializer);
    // key的序列化采用StringRedisSerializer
    template.setKeySerializer(new StringRedisSerializer());
    template.setHashKeySerializer(new StringRedisSerializer());
    template.setConnectionFactory(redisConnectionFactory);
    return template;
  }
}

3、Student類

@Data
public class Student {
  private Integer studentId;
  private String studentName;
}

4、pom.xml引入redis和fastjson的依賴,application.yml配置文件別忘了配置Redis的地址。

5、BootRedisApplication啟動類

@SpringBootApplication
public class BootRedisApplication {

  public static void main(String[] args) {
    ConfigurableApplicationContext
        context = SpringApplication.run(BootRedisApplication.class, args);
    
    Student student = new Student();
    student.setStudentId(101);
    student.setStudentName("學(xué)生A");
    
    RedisTemplate cRedisTemplate = context.getBean("redisTemplate", RedisTemplate.class);
    cRedisTemplate.opsForValue().set("student-1", student);

    context.close();
  }
}

6、查看Redis的數(shù)據(jù)

{"@type":"com.example.bootredis.Student","studentId":101,"studentName":"學(xué)生A"}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決springboot與springcloud版本兼容問題(附版本兼容表)

    解決springboot與springcloud版本兼容問題(附版本兼容表)

    在基于spring boot搭建spring cloud時,創(chuàng)建eureka后啟動服務(wù)發(fā)生報錯,本文給大家介紹了解決springboot與springcloud版本兼容問題的幾種方案,需要的朋友可以參考下
    2024-02-02
  • Java實現(xiàn)簡單圖形界面計算器

    Java實現(xiàn)簡單圖形界面計算器

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單圖形界面計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • spring中Mapstruct屬性映射的實現(xiàn)

    spring中Mapstruct屬性映射的實現(xiàn)

    本文主要介紹了spring中Mapstruct屬性映射的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Jmeter連接Mysql數(shù)據(jù)庫實現(xiàn)過程詳解

    Jmeter連接Mysql數(shù)據(jù)庫實現(xiàn)過程詳解

    這篇文章主要介紹了Jmeter連接Mysql數(shù)據(jù)庫實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • java io讀取文件操作代碼實例

    java io讀取文件操作代碼實例

    這篇文章主要介紹了java io讀取文件操作代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Spring JPA整合QueryDSL的示例代碼

    Spring JPA整合QueryDSL的示例代碼

    這篇文章主要介紹了Spring JPA整合QueryDSL的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • @Valid 無法校驗List<E>的問題

    @Valid 無法校驗List<E>的問題

    這篇文章主要介紹了@Valid 無法校驗List<E>的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java截取url參數(shù)的方法

    Java截取url參數(shù)的方法

    本文給大家?guī)砹薺ava截取url參數(shù),url值得方法,代碼簡單易懂,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • java 如何將圖片按照原尺寸比例存入word中

    java 如何將圖片按照原尺寸比例存入word中

    這篇文章主要介紹了java 如何將圖片按照原尺寸比例存入word中的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 分析Java非阻塞算法Lock-Free的實現(xiàn)

    分析Java非阻塞算法Lock-Free的實現(xiàn)

    非阻塞算法一般會使用CAS來協(xié)調(diào)線程的操作。雖然非阻塞算法有諸多優(yōu)點,但是在實現(xiàn)上要比基于鎖的算法更加繁瑣和負責(zé)。本文將會介紹兩個是用非阻塞算法實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)。
    2021-06-06

最新評論

灌云县| 申扎县| 射阳县| 阿坝县| 萍乡市| 乐至县| 永康市| 南华县| 辽宁省| 天祝| 苏州市| 浑源县| 夏津县| 沽源县| 临漳县| 阳山县| 抚宁县| 全州县| 乌拉特前旗| 报价| 灌阳县| 高州市| 白水县| 花垣县| 洛扎县| 定兴县| 盱眙县| 玉田县| 扎赉特旗| 西乡县| 靖边县| 北流市| 平江县| 苗栗县| 平和县| 铁岭市| 奉贤区| 综艺| 新乡市| 陆河县| 鹤庆县|