SpringMVCの常用注釈

2435 ワード

@Controller
@Controllerはクラスを表記するために使われています.そのマークを使うクラスはSpringMVC Controllerの対象です.Springは、アプリケーション内のすべての注釈に基づくコントローラ類をスキャン機構を用いて検索します.設定ファイルは以下の通りです

要素の機能は、@Controller、@Service、@Repository、@Componentなどの注釈が付いているクラスがSpringのBeanとなり、base-package属性がスキャンが必要な種類のカバンを指定し、種類のカバンとその再帰的なサブバッグのすべての種類が処理されます.
@Request Mapping
@Request Mappingは、クラスまたは方法のために使用できるSpringが、要求動作をどのクラスまたは方法で処理するかを示している.次の属性も指定できます.
  • valueは、URLを方法にマッピングして処理を行う
  • .
  • methodは、この方法がどのHTTP要求方式のみを処理するかを示している(指定されていないなら、任意のHTTP要求方式を処理してもよい)
  • .
  • consumes,処理要求の提出内容タイプ(Content-Type:「appication/json」または「text/html」)
  • producesは、リターンされたコンテンツタイプを指定し、request要求ヘッダ(Accept)に含まれるタイプ
  • のみを処理する.
  • paramsで、requestに何らかのパラメータ値が含まれていなければならないと指定した場合、この方法は
  • を処理することができます.
  • headers、requestには特定のheader値
  • が含まれていなければならない.
    パラメータバインディング
    @Requset Param
    @RequsetParamは、指定された要求パラメータを方法に付与するためのパラメータです.
  • nameは、要求ヘッダバインディングの名称
  • を指定します.
  • value、name属性の別名
  • requiredは、パラメータが
  • にバインディングされているかどうかを示す.
  • defaule Valueは、パラメータを伝達することなく使用されるデフォルト値
  • である.
    @PathVarable
    要求URLのダイナミックパラメータは非常に簡単に入手できます.
    @Request Header
    要求されたヘッダ情報領域データを機能処理方法のパラメータにマッピングする.
  • nameは、要求ヘッダバインディングの名称
  • を指定します.
  • value、name属性の別名
  • requiredは、パラメータが
  • にバインディングされているかどうかを示す.
  • defaule Valueは、パラメータを伝達することなく使用されるデフォルト値
  • である.
    @Cookie Value
    要求されたCookieデータを機能処理方法のパラメータにマッピングするために使用されます.
  • nameは、要求ヘッダバインディングの名称
  • を指定します.
  • value、name属性の別名
  • requiredは、パラメータが
  • にバインディングされているかどうかを示す.
  • defaule Valueは、パラメータを伝達することなく使用されるデフォルト値
  • である.
    @Session Attributes
    Modelのどの属性がHttpSessionオブジェクトに転送されるかを選択的に指定することができます.クラスでしか声明できません.宣言できない方法です.
  • name,Modelの属性名,すなわちHttpSessionに記憶されている属性名
  • value、name属性の別名
  • typesは、パラメータが
  • にバインドされているかどうかを示す.
    @ModelAttribute
    要求パラメータをModelオブジェクトに結合し、一つの属性vlaueのみをサポートし、Stringタイプは、バインディングの属性名を表します.@ModelAttributeに注釈された方法は、Controller毎の方法が実行される前に実行されます.
    情報変換
    Http Message Coverterインターフェース
    要求情報を一つのオブジェクト(タイプT)に変換し、要求方法のパラメータに結びつけたり、応答情報として出力したりする.
    JSONデータの変換
    @ResonseBodyは、集合データをjson形式のデータに変換し、クライアントに返信します.json形式のオープンソースを扱うカバンはJacksonとfastjsonを使いますが、異なるHttp Message Conterを使う必要があります.
    XMLデータの変換
    JAXBは、XMLのインスタンスドキュメントを逆方向にJAVAオブジェクトを生成する方法を提供し、JAVAオブジェクトの内容をXMLのインスタンスドキュメントに書き換えることができます.提供するコメント@Xml RootElement、@XmlElementなど.