1。注釈リスト
@SpringBootApplication:@componentscan、@configuration、 @enableautoconfigurationアノテーションが含まれています。 @componentscanは、Spring Boot Scanを構成クラスにスキャンし、プログラムコンテキストに追加します。
@Configurationは、SpringのXML構成ファイルに相当します。 Javaコードはタイプの安全性を確認できます。
@enableautoconfiguration自動構成。
@componentscanコンポーネントはコンポーネントスキャンして、いくつかの豆を自動的に発見して組み立てます。
@Componentは、CommandLinerunnerで使用して、プログラムの開始後にいくつかの基本的なタスクを実行できます。
@RestController Annotationは@Controllerと@ResponseBodyのコレクションであり、これがコントローラー豆であり、関数の戻り値がHTTP応答ボディに直接入力されることを示しています。レストスタイルのコントローラーです。
@autowired自動的にインポート。
@pathvariableパラメーターを取得します。
@JSonBackReferenceネストされた外部リンクの問題を解決します。
@RepositoryRestResourcePublicは、Spring-Boot-Starter-Data-Restで使用されます。
2。注釈の詳細な説明
@SpringBootApplication:Spring Bootを宣言して、必要な構成でプログラムを自動的に構成します。この構成は、@configuration、 @enableautoconfiguration、@componentscanの3つの構成に相当します。
パッケージcom.example.myproject; Import org.springframework.boot.springApplication; org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication // @configuration @enableautoconfiguration @componentscanパブリッククラス{public static void main(string [] args){springapplication.run(application.run、args、class、class、class、class、class、class); }}@ResponseBody:このメソッドのリターン結果がHTTP応答本体に直接記述されることを意味します。一般に、データが非同期に取得され、RESTFUL APIの構築に使用される場合に使用されます。 @RequestMappingを使用した後、戻り値は通常、ジャンプパスとして解析されます。 @ResponseBodyを追加した後、戻り結果はジャンプパスとして解析されることはありませんが、HTTP応答本体に直接書き込まれます。たとえば、JSONデータを非同期に取得して@ResponseBodyを追加すると、JSONデータが直接返されます。この注釈は通常、@RequestMappingで使用されます。サンプルコード:
@RequestMapping( "/test")@responsebody public string test(){return "ok"; }@Controller:コントローラークラスを定義するために使用されます。 Springプロジェクトでは、コントローラーは、ユーザーが送信したURL要求を対応するサービスインターフェイス(サービスレイヤー)に転送する責任があります。一般的に、この注釈はクラスにあります。通常、メソッドはannotation @RequestMappingと調整する必要があります。サンプルコード:
@Controller @RequestMapping( "/demoinfo")publicClass democontroller {@autowired private demoinfoservice demoinfoservice; @requestmapping( "/hello")public string hello(map <string、object> map){system.out.out.println( "democontroller.hello()"); map.put( "hello"、 "from templatecontroller.hellohtml"); // hello.htmlまたはhello.ftlテンプレートは、レンダリングと表示に使用されます。 "/hello";}}を返します@RestController:コントロールレイヤーコンポーネントのコレクション(Strutsでのアクションなど)、 @ResponseBody、@Controller。サンプルコード:
パッケージcom.kfit.demo.web; import org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.restController; @RestController @RequestMapping( "/demoinfo2")publicClass democontroller2 {@requestmapping( "/test")public string test(){return "ok";}}}@RequestMapping:ルーティング情報を提供し、コントローラーの特定の機能にURLをマッピングする責任があります。
@enableautoconfiguration:Spring Boot Auto-configuration:追加したJAR依存関係に基づいて、Springアプリケーションを自動的に構成してみてください。たとえば、HSQLDBがClassPathの下に存在し、データベース接続豆を手動で構成していない場合、インメモリデータベースを自動的に構成します。 @enableautoconfigurationまたは@springbootapplicationアノテーションを@configurationクラスに追加して、Autoconfigurationを選択できます。必要のない特定のAutoConfigurationクラスが適用されていることがわかった場合、 @EnableAutoconFigurationアノテーションの除外属性を使用してそれらを無効にすることができます。
@componentscan:クラスがスキャンコンポーネントを自動的に発見することを意味します。個人的な理解は、@Component、@Controller、@Serviceなどの注釈でクラスをスキャンし、Beanとして登録する場合、@Configurationクラスを含むすべてのスプリングコンポーネントを自動的に収集できます。 @componentscanアノテーションを使用して豆を検索し、 @autowiredアノテーションと組み合わせてそれらを輸入することがよくあります。 @configurationクラスを含むすべてのスプリングコンポーネントを自動的に収集できます。 @componentscanアノテーションを使用して豆を検索し、 @autowiredアノテーションと組み合わせてそれらを輸入することがよくあります。構成がない場合、Spring Bootは、スタートアップクラスが配置されているパッケージの下のクラスと、@service、@Repositoryなどの注釈を使用するサブパッケージをスキャンします。
@Configuration:従来のXML構成ファイルに相当します。一部のサードパーティライブラリがXMLファイルを使用する必要がある場合は、プロジェクトのメイン構成クラスとして@Configurationクラスを使用することをお勧めします。@Importresourceアノテーションを使用してXML構成ファイルをロードできます。
@import:他の構成クラスのインポートに使用されます。
@importresource:XML構成ファイルをロードするために使用されます。
@Autowired:依存した豆を自動的に輸入します
@Service:サービスレイヤーの変更に一般的に使用されるコンポーネント
@Repository:@Repositoryアノテーションを使用すると、DAOまたはリポジトリが例外翻訳を提供できるようにします。この注釈によって変更されたDAOまたはリポジトリクラスは、ComponetScanによって発見および構成され、XML構成アイテムを提供する必要はありません。
@Bean:@Beanアノテーション法を使用して、XMLで構成されたBeanに相当します。
@Value:Spring Boot Application.Propertiesで構成されたプロパティの値を注入します。サンプルコード:
@value(value = "#{message}")private string message;@Inject:デフォルトの@Autowiredに相当しますが、必要な属性はありません。
@Component:一般的なコンポーネントを指します。コンポーネントの分類が簡単でない場合は、この注釈を使用して注釈を付けます。
@Bean:クラスではなくメソッドの上に配置されたXMLに相当します。つまり、豆を生成して春の管理に引き渡すことを意味します。
@Autowired:依存した豆を自動的に輸入します。 BYTYPEメソッド。構成された豆を使用して、プロパティと方法のアセンブリを完成させます。クラスのメンバー変数、メソッド、およびコンストラクターをマークして、自動アセンブリ作業を完了できます。 (必須= false)が追加されると、豆が見つからない場合でもエラーは報告されません。
@Qualifier:同じタイプの複数の豆がある場合、 @qualifier( "name")を使用して指定できます。 @autowiredで動作します。名前に応じて注入することに加えて、 @qualifierの予選記述子を使用して、候補者を選択する方法をより細かい粒度制御を実行できます。特定の使用方法は次のとおりです。
@autowired @qualifier(value = "demoinfoservice")private demoinfoservice demoinfoservice;
@Resource(name =” name”、type =” type”):ブラケットにコンテンツがない場合、デフォルトはbynameです。 @autowiredに似たことをしてください。
3。JPAノート
@Entity:@Table(name =” "):これがエンティティクラスであることを示します。一般にJPAの2つの注釈に使用されますが、テーブル名とエンティティのクラス名が同じ場合、@Tableは省略できます。
@MappedSuperClass:親クラスであるエンティティを決定するために使用されます。親クラスの属性サブクラスは継承できます。
@norepositorybean:通常、親クラスのリポジトリとして使用されます。この注釈により、Springはリポジトリをインスタンス化しません。
@Column:フィールド名が列名と同じ場合、省略できます。
@ID:この属性が主キーであることを意味します。
@generatedValue(Strategy = GenerationType.Sequence、Generator = "Repay_Seq"):主要なキー生成戦略はシーケンスであることを意味します(自動、ID、ネイティブなど、AUTOは複数のデータベースを切り替えることができることを意味します)。
@SequenceGeneretor(name = "Repair_Seq"、sequencename = "seq_repair"、arecationsize = 1):名前はシーケンスの名前であるため、シーケンセネームはデータベースのシーケンス名であり、2つの名前が一貫している可能性があります。
@Transient:このプロパティは、データベーステーブルのフィールドへのマップではなく、ORMフレームワークはこのプロパティを無視することを意味します。属性がデータベーステーブルのフィールドマップではない場合、 @transientとしてマークする必要があります。それ以外の場合、ORMフレームワークは@Basicとしての注釈をデフォルトします。 @basic(fetch = fetchtype.lazy):タグはエンティティ属性のロード方法を指定できます
@jsonignore:この関数は、JSONをシリアル化するときにJava Beanの一部のプロパティを無視することであり、シリアル化と脱介入の両方が影響を受けます。
@joincolumn(name =” loginid”):1対1:別のテーブルを指しているこのテーブルの外部キー。 1対多:別のテーブルは、このテーブルの外部キーを指しています。
@OnetOone、@Onetomany、@manytoone:Hibernate構成ファイルの1対1、1対多、および多くのものに対応しています。
4。SpringMVC関連メモ
@RequestMapping:@RequestMapping( "/path")とは、コントローラーがすべてのURL要求を「/パス」と処理することを意味します。 RequestMappingは、リクエストアドレスマッピングを処理するために使用される注釈であり、クラスまたはメソッドで使用できます。
クラスで使用するために、クラスでその応答要求を表すすべての方法は、このアドレスを親のパスとして取得します。この注釈には6つの属性があります。
@RequestParam:メソッドのパラメーターの前に使用されます。
@RequestParam文字列a = request.getParameter( "a")。 @pathvariable:pathvariable。たとえば、requestMapping( "user/get/mac/{macaddress}")public string getbymacaddress(@pathvariable string macaddress){//何かをします。 }パラメーターは、ブレース内の名前と同じでなければなりません。
5。グローバル例外処理
@controlleradvice:@componentが含まれています。スキャンすることができます。統一された例外処理。
@exceptionhandler(exception.class):この例外に遭遇した場合、次の方法を実行することを示す方法で使用されます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。