この記事は、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、headersparams: このメソッドで処理される前に、指定されたリクエストには特定のパラメータ値が含まれている必要があります。 headers: このメソッドがリクエストを処理するには、指定されたリクエストに特定の指定されたヘッダー値が含まれている必要があります。3. @Resource と @Autowired
@Resource と @Autowired は両方とも Bean インジェクションに使用されます。実際、そのパッケージは javax です。 .annotation.Resource をインポートする必要がありますが、Spring はこのアノテーションの挿入をサポートしています。
共通点
#フィールドとセッター メソッドの両方を記述することができます。両方がフィールドに記述されている場合は、セッター メソッドを記述する必要はありません。
ac7d9f7e29cc0db90f159180e86e8d64
注意:本人尝试时无论哪种情况
以上がSpringMVC で一般的に使用されるアノテーション タグの包括的な概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。