SpringMVC は Struts2 に似た MVC フレームワークで、実際の開発ではブラウザのリクエスト応答を受け取り、データを処理して表示用のページを返すことになりますが、Struts2 よりもはるかに簡単に始めることができます。 Struts2.そして、Struts2 によって明らかになったセキュリティ問題のため、SpringMVC はほとんどの企業にとって推奨されるフレームワークになりました。
springMVC にはカプセル化されたアノテーションが多数あり、これらのアノテーションを使用すると開発を簡素化できます。
1. @Controller
@Controller はクラスをマークするために使用され、これでマークされたクラスは SpringMVCController オブジェクトです。ディスパッチ プロセッサは、このアノテーションを使用してクラスのメソッドをスキャンし、メソッドに @RequestMapping アノテーションが付けられているかどうかを検出します。 @Controller はコントローラー クラスを定義するだけで、@RequestMapping アノテーションが付けられたメソッドが実際にリクエストを処理するプロセッサーとなります。クラス上で @Controller マークを使用するだけでは、そのクラスが SpringMVC のコントローラー クラスであるとは言えません。これは、現時点では Spring がそれを認識していないためです。では、Spring はどのようにしてそれを認識できるのでしょうか?この時点で、このコントローラー クラスを Spring に渡して管理する必要があります。方法は2つあります:
(1) SpringMVC設定ファイルにMyControllerのBeanオブジェクトを定義します。
(2) SpringMVC 設定ファイルで、@Controller とマークされたコントローラーの場所を Spring に指示します。
2. @RequestMapping
RequestMapping アノテーションには 6 つの属性があります。以下では 3 つのカテゴリに分けて説明します
(1)value、method
value: 指定リクエストの実際のアドレス、指定されたアドレスは URI テンプレート モードにすることができます;
method: リクエストのメソッド タイプを指定します (GET、POST、PUT、DELETE など);
value uri 値は次のとおりです。 3 つのカテゴリ: 通常の特定の値、特定の変数を含む値のタイプ、正規表現を含む値のタイプ、
(2)consumes、production
consumes: 送信コンテンツ タイプを指定します (Content- Type) リクエストを処理するためのタイプ (例: application/json、text/html;
Produces: 返されるコンテンツ タイプを指定します。リクエスト ヘッダーの (Accept) タイプに指定されたタイプが含まれている場合にのみ返されます。
(3)params、ヘッダー
params: このメソッドは、リクエストに特定のパラメータ値を含める必要がある場合にのみリクエストを処理します。
headers: このメソッドがリクエストを処理するには、指定されたリクエストに特定の指定されたヘッダー値が含まれている必要があります。
3.@Resource と @Autowired
@Resource と @Autowired は両方とも Bean インジェクションに使用されます。実際、@Resource は Spring のアノテーションではありません。そのパッケージは javax です. .annotation.Resource をインポートする必要がありますが、Spring はこのアノテーションの注入をサポートしており、フィールドとセッター メソッドの両方を記述することができます。両方がフィールドに記述されている場合は、セッター メソッドを記述する必要はありません。
4.@PathVariable
は、リクエスト URL のテンプレート変数を関数処理メソッドのパラメーターにマッピングするために使用されます。つまり、パラメータとしての URI テンプレート。
5.@ResponseBody
Function: このアノテーションは、Controller メソッドによって返されたオブジェクトを、適切な HttpMessageConverter を通じて指定された形式に変換し、それを本文に書き込むために使用されます。 Response オブジェクトのデータ領域。
使用タイミング: 返されるデータが html タグを含むページではなく、他の形式 (json、xml など) のデータである場合に使用します。
6.@RestController
JSON、XML、またはその他のカスタム タイプのコンテンツを提供するためだけに、REST API を実装しているコントローラーがよく見られます。@RestController は、REST タイプのコントローラーと @Controller タイプを作成するために使用されます。 @RestController はこのような型であるため、@RequestMapping と @ResponseBody を繰り返し記述することができません。
以上がspringmvc アノテーションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。