Java Annotation


Java Annotation


  • Annotation(@)は辞書の意味での「注釈」-->Javaでは@のコメントを使用します.

  • Javaコードに注釈を付け,特殊な意味を与え,特殊な機能を実行できる技術である.(クラス、メソッド、変数などのすべての要素に宣言できます)
    -->つまり、プログラムに追加情報を提供するメタデータと見なすことができます.

  • JDK 5から登場しましたJava、Springで提供されているものもあり、自分で定義して作成することができます.
  • 用途


  • @Overrideプレゼンテーション、コンパイラの情報提供
    -->コンパイラに情報を提供します(コード作成構文エラーなど).
    -->コンパイル中のエアバッグ情報からコードを生成します.

  • ソフトウェア開発ツールが構築または導入を実行するときに、コードを自動的に生成する情報を提供します.

  • 実行時(実行時)に特定の機能を実行する情報を提供します.
  • デフォルトでは、Annotationを使用する順序は次のとおりです.
    Annotationの定義 クラスにAnnotationを配置する(必ずしもクラスではない) コード実行中に、反射により追加情報を取得して機能を実行します。

    Reflection


  • これは、プログラムが実行中に自分の構造と動作を検査、検査、修正することを意味します.

  • プログラマが汎用ソフトウェアライブラリを作成してデータを表示したり、異なるフォーマットのデータを処理したり、通信やパッケージングのためにシリアル化したりするのを支援します.

  • オブジェクト向けプログラミング言語Javaでは、Reflectionでは、インタフェース、フィールド、メソッド名が分からなくても、コンパイル時にクラス、インタフェース、フィールド、メソッドにアクセスできます.
    また、メンバー・アクセス指定子ルールは無視できます.
    [反射](Reflection)を使用すると、サードパーティ製ライブラリのクラスでプライベートフィールドの値を変更できます.
  • SpringでBeanFactoryという名前のコンテナからオブジェクトを呼び出すと、インスタンスが作成されます。これは必須です。すなわち,Frameworkでは,柔軟な動作のために反射が用いられる. Annotation自体は、何のアクションも持たない単純なタグですが、Reflectionでは、Annotationが適用されるかどうか、Elliment値を読み取り、処理できます。 クラスに適用されるAnnotation情報を読むにはjavaを使用します。lang.Classを使用して、フィールド、ジェネレータ、メソッドに適用されるAnnotation情報を読むには、Classメソッドでjavaを使用します。lang.reflectパッケージの配列。-->Class.forName()、getName()、getModified()、getFields()、getPackage()など、さまざまな方法で情報を取得できます。 反射することで、Annotationを指定するだけで必要なクラスを注入できます。 // Without reflection Foo foo = new Foo(); foo.hello(); // With reflection Object foo = Class.forName("complete.classpath.and.Foo").newInstance(); // Alternatively: Object foo = Foo.class.newInstance(); Method m = foo.getClass().getDeclaredMethod("hello", **new** Class<?>[0]); m.invoke(foo);

    Java Annotationについて簡単に紹介しました.プログラミング技術の原理を学ぶのは非常に難しい.また、Java Annotationを学ぶ必要性を感じました...
    ソース: https://helloworld-88.tistory.com/147 https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC https://palyoung.tistory.com/72 https://milkshake91.tistory.com/5 https://honeyinfo7.tistory.com/56 https://qssdev.tistory.com/27