SpringMVC で一般的に使用されるアノテーション タグの包括的な概要

不言
リリース: 2018-09-17 17:24:32
オリジナル
1416 人が閲覧しました

この記事は、SpringMVC でよく使用されるアノテーション タグの概要を示したものです。必要な方は参考にしていただければ幸いです。

1、SpringMVC の @Controller
、コントローラー コントローラーは DispatcherServlet による処理を担当します 分散リクエスト。ビジネス処理層で処理された後、ユーザーがリクエストしたデータをモデルにカプセル化し、そのモデルを対応するビューに返します。 プレゼンテーションを行います。 SpringMVCでは非常にシンプルな定義のControllerが提供されています メソッドを使用する場合、特定のクラスを継承したり、特定のインターフェイスを実装したりする必要はありません。 @Controller を使用してクラスをコントローラーとしてマークするだけです。 次に、@RequestMapping や @RequestParam などのいくつかのアノテーションを使用して、URL リクエストとコントローラーを定義します。 メソッド間のマッピング、このようなコントローラーは外部からアクセスできます。さらに、Controller は HttpServletRequest に直接依存しません。 HttpServletResponse およびその他の HttpServlet オブジェクトは、コントローラーのメソッド パラメーターを通じて柔軟に取得できます。 ######@コントローラ クラスをマークするために使用されます。これでマークされたクラスは SpringMVC コントローラーです。 物体。ディスパッチ プロセッサは、アノテーションが付けられたクラスのメソッドをスキャンし、メソッドに @RequestMapping アノテーションが付けられているかどうかを検出します。 @コントローラ コントローラー クラスを定義するだけで、@RequestMapping アノテーションが付けられたメソッドが実際にリクエストを処理するプロセッサーになります。 @Controllerを使用するだけです クラスをマークしても、現時点では Spring がそれを認識していないため、それが SpringMVC のコントローラー クラスであるとは言えません。それで、春をどうするか どうすればそれを認識できるのでしょうか?この時点で、このコントローラー クラスを Spring に渡して管理する必要があります。方法は2通りあります。

(1) SpringMVC設定ファイルにMyControllerのBeanオブジェクトを定義します。

(2) SpringMVC 設定ファイルで、@Controller とマークされたコントローラーの場所を Spring に指示します。


< context:component-scan base-package = "com.host.app.web" />//パスはコントローラーの上位層に書き込まれます (以下の簡単な分析を参照)スキャン パッケージの詳細については)


2. @RequestMapping

RequestMapping は、リクエスト アドレス マッピングを処理するために使用されるアノテーションであり、クラスまたはメソッドで使用できます。クラスで使用すると、リクエストに応答するクラス内のすべてのメソッドがこのアドレスを親パスとして使用することを意味します。

RequestMapping アノテーションには 6 つの属性があります。以下では説明のために 3 つのカテゴリに分けます (対応する例は以下にあります)。

①. 値、メソッド;

値: リクエストの実際のアドレスを指定します (後で説明します)。 Method: リクエストされたメソッドのタイプ (GET、POST、PUT、DELETE など) を指定します。 application/json 、 text/html;

などのリクエスト: 返されるコンテンツ タイプを指定します。リクエスト ヘッダーの (Accept) タイプに指定されたタイプが含まれる場合にのみ返されます。

#③. params、headers

params: このメソッドで処理される前に、指定されたリクエストには特定のパラメータ値が含まれている必要があります。

headers: このメソッドがリクエストを処理するには、指定されたリクエストに特定の指定されたヘッダー値が含まれている必要があります。

3. @Resource と @Autowired

@Resource と @Autowired は両方とも Bean インジェクションに使用されます。実際、そのパッケージは javax です。 .annotation.Resource をインポートする必要がありますが、Spring はこのアノテーションの挿入をサポートしています。

共通点

#フィールドとセッター メソッドの両方を記述することができます。両方がフィールドに記述されている場合は、セッター メソッドを記述する必要はありません。

違い

(1)@Autowire

@AutowiredはSpringのアノテーションを提供しており、org.springframework.beans.factory.annotation.Autowiredのパッケージのみをインポートする必要があります。 byType インジェクション。

ac7d9f7e29cc0db90f159180e86e8d64

注意:本人尝试时无论哪种情况都不能同时存在。

以上がSpringMVC で一般的に使用されるアノテーション タグの包括的な概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!