@transient代表着什么

@transient是java 的transient关键字的作用,是需要实现Serilizable接口,@transient是类型修饰符,只能用来修饰字段。在对象序列化过程中, /被transient标记的变量不会被序列化

在Scala中需要使用@transient修饰的方法时,需要进行注册,这里是解析json字符串的时候使用到的。下面是一个例子

定义:

/**
    * ObjectMapper 的单例对象
    */
  object  ObjectMapperSingleton{
    //@transient是类型修饰符,只能用来修饰字段。在对象序列化过程中,
    // 被transient标记的变量不会被序列化
    @transient private var objectMapper:ObjectMapper = _
    def getInstance():ObjectMapper ={
      if(objectMapper == null){
        objectMapper = new ObjectMapper()
        objectMapper.registerModule(DefaultScalaModule) //将Java类型的注册为Scala的对象
      }
      objectMapper
    }
  }

调用

  //解析JSON格式数据 为 Order对象
        val mapper = ObjectMapperSingleton.getInstance()
        val order: Order = mapper.readValue(msg,classOf[Order])

以上是在学习过程中一些理解

猜你喜欢

转载自blog.csdn.net/wyz0516071128/article/details/81608326
今日推荐