Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJacksonを使用した@JacksonInjectアノテーションの使用は何ですか?


ジャクソン@JacksonInjectアノテーション 値を挿入するために使用できます JSONからこれらの値を読み取る代わりに、解析されたオブジェクトに変換します。フィールドに値を挿入するために、 InjectableValuesを使用できます。 クラスであり、 ObjectMapperを構成する必要があります InjectableValuesから注入された両方の値を読み取るクラス クラスとJSON文字列の残りの値。

構文
@Target(value={ANNOTATION_TYPE,METHOD,FIELD,PARAMETER})
@Retention(value=RUNTIME)
public @interface JacksonInject
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
public class JacksonInjectTest {
   public static void main(String args[]) throws IOException {
      String jsonString = "{\"empName\": \"Raja Ramesh\"}";
      InjectableValues injectableValues = new InjectableValues.Std().addValue(int.class, 110);
      Employee emp = new  ObjectMapper().reader(injectableValues).forType(Employee.class).readValue(jsonString);
      System.out.println(emp);
   }
}
// Employee class
class Employee {
   @JacksonInject
   public int empId = 0;
   public String empName = "Adithya";
   @Override
   public String toString() {
      return "Employee{" +
      "empId=" + empId +
      ", empName='" + empName + '\'' +
      '}';
   }
}

出力

Employee{empId=110, empName='Raja Ramesh'}

  1. Java 9での@Deprecatedアノテーションの改善点は何ですか?

    @Deprecatedで注釈を付けることができる要素 この特定の要素が以下の理由で使用されなくなったことを意味します 使用するのは危険であり、エラーが発生する可能性があります。 将来のバージョンでは互換性がなくなる可能性があります。 将来のバージョンで削除される可能性があります。 より優れた、より効率的なソリューションがそれに取って代わりました。 Java 9には、次の2つの新しい要素が追加されています。以降 およびforRemoval 属性。 1)以降: この要素は、注釈付きAPI要素の非推奨バージョンを指定します。 2)forRemoval: 注釈付きのAPI要素を表す

  2. JavaでのCursorクラスの重要性は何ですか?

    カーソル オブジェクトのサブクラスです クラスであり、ポイントまたはインジケーターとして定義できます。 画面上。 カーソル ユーザーがマウスで操作するシステムからの入力を選択するために使用されます 。 カーソルで使用できるさまざまな種類のカーソル クラスはDEFAULT_CURSOR、CROSSHAIR_CURSOR、HAND_CURSOR、TEXT_CURSOR、WAIT_CURSOR Cursorクラスの重要なメソッドは、 getDefaultCursor()、getName()、getPredefinedCursor()、getSystemCustomCursor()です。 およびge