SpringMVC開発の一般的な注釈
2790 ワード
SpringMVC開発では多くの注釈が用いられ,開発が容易であるだけでなく,コードをより簡潔にする.
一般的な注記は次のとおりです.
@RequestMappingパラメータ:—>value:要求の実際のアドレスを指定します.指定したアドレスはURI Templateモード->method:要求のmethodタイプを指定します.GET、POST、PUT、DELETEなど->consumes:アプリケーション/json、text/htmlなどの処理要求のコミット内容タイプを指定します.->Produces:返されるコンテンツのタイプを指定します.このメソッドは、requestリクエストヘッダの(Accept)タイプに指定したタイプが含まれている場合にのみ返されます.->params:requestにパラメータ値が含まれる必要がある場合にのみ処理されます.->headers:リクエストを処理するには、リクエストに指定したheader値をrequestに含める必要があることを指定します.
Controllerパラメータ注記:->@PathVariable:@RequestMapping URI templateスタイルマッピングを使用する場合、someUrl/{paramId}となります.この場合のparamIdは、@Pathvariable注記でメソッドのパラメータに渡された値をバインドできます.
->@RequestParam:単純なタイプのバインドを処理するためによく使用されます.Content-type:アプリケーション/x-www-form-urlencoded符号化の内容を処理するために使用することもでき、提出方式GET、POST;【注意:@RequestParamには、value、requiredの2つのプロパティがあります.valueは、パラメータがバインドされているかどうかを示すid名を入力するために使用されます.requiredは、パラメータがバインドされているかどうかを示すために使用されます.】
->@RequestBody:この注記は、アプリケーション/json、アプリケーション/xmlなどのContent-Typeを処理するためによく使用されます(アプリケーション/x-www-form-urlencoded符号化の内容ではありません).【注意:HandlerAdapter構成のHttpMessageConvertersを使用してpost data bodyを解析し、対応するbeanにバインドします.】
->@RequestHeader:Requestリクエストheaderセクションの値をメソッドのパラメータにバインドできます.
->@CookieValue:Request headerのcookieに関する値をメソッドのパラメータにバインドできます.
@Autowired:自動アセンブリ、Springでの注記クラス.メンバー変数のset/getメソッドの代わりにiOSの@propertyと同様です.使用可能なパラメータ@Autowired(required=false)は、一致するBeanが見つからない場合でもエラーが報告されず、テストフェーズに多く使用されることを示します.
@Qualifier:@Autowiredと似ています.違いは、@AutowiredコメントはbyType注入を行い、@QualifierはbyName注入を行います.【注意:@Autowiredはメンバー変数、メソッドおよびコンストラクション関数に注釈を付けることができますが、@Qualifierの注釈オブジェクトはメンバー変数、メソッドパラメータ、コンストラクション関数パラメータです.注釈オブジェクトが異なるため、Springは@Autowiredと@Qualifierを1つの注釈クラスに統一しません.】
@Resource:@Autowiredのように、デフォルトではbyNameで自動的に注入されます.nameとtypeの2つのプロパティがあります.Springは@Resource注釈のnameプロパティをbeanの名前に解析し、typeプロパティはbeanのタイプに解析します.したがって、nameプロパティを使用する場合はbyNameの自動注入ポリシーを使用し、typeプロパティを使用する場合はbyTypeの自動注入ポリシーを使用します.nameもtypeも指定しない場合は、byName自動注入ポリシーが反射メカニズムで使用されます.
@Component:コンポーネントを指し、コンポーネントが分類されにくい場合は、この注釈を使用して寸法を付けることができます.
@Service:ビジネス層コンポーネントの寸法設定に使用
@Repository:データアクセスコンポーネント、すなわちDAOコンポーネントの寸法付けに使用
ブログアドレス:SpringMVC開発FAQ
一般的な注記は次のとおりです.
@RequestMappingパラメータ:—>value:要求の実際のアドレスを指定します.指定したアドレスはURI Templateモード->method:要求のmethodタイプを指定します.GET、POST、PUT、DELETEなど->consumes:アプリケーション/json、text/htmlなどの処理要求のコミット内容タイプを指定します.->Produces:返されるコンテンツのタイプを指定します.このメソッドは、requestリクエストヘッダの(Accept)タイプに指定したタイプが含まれている場合にのみ返されます.->params:requestにパラメータ値が含まれる必要がある場合にのみ処理されます.->headers:リクエストを処理するには、リクエストに指定したheader値をrequestに含める必要があることを指定します.
@RequestMapping(value = "/{commentid}", method = RequestMethod.DELETE,
consumes = "application/json",produces = "application/json",
params = "myParam=myValue",headers = "Refer=12345678")
Controllerパラメータ注記:->@PathVariable:@RequestMapping URI templateスタイルマッピングを使用する場合、someUrl/{paramId}となります.この場合のparamIdは、@Pathvariable注記でメソッドのパラメータに渡された値をバインドできます.
->@RequestParam:単純なタイプのバインドを処理するためによく使用されます.Content-type:アプリケーション/x-www-form-urlencoded符号化の内容を処理するために使用することもでき、提出方式GET、POST;【注意:@RequestParamには、value、requiredの2つのプロパティがあります.valueは、パラメータがバインドされているかどうかを示すid名を入力するために使用されます.requiredは、パラメータがバインドされているかどうかを示すために使用されます.】
->@RequestBody:この注記は、アプリケーション/json、アプリケーション/xmlなどのContent-Typeを処理するためによく使用されます(アプリケーション/x-www-form-urlencoded符号化の内容ではありません).【注意:HandlerAdapter構成のHttpMessageConvertersを使用してpost data bodyを解析し、対応するbeanにバインドします.】
->@RequestHeader:Requestリクエストheaderセクションの値をメソッドのパラメータにバインドできます.
public void displayHeaderInfo(@RequestHeader("Accept-Encoding") String encoding,
@RequestHeader("Keep-Alive") long keepAlive) { … }
->@CookieValue:Request headerのcookieに関する値をメソッドのパラメータにバインドできます.
@RequestMapping("/displayHeaderInfo.do")
public void displayHeaderInfo(@CookieValue("JSESSIONID") String cookie) { … }
@Autowired:自動アセンブリ、Springでの注記クラス.メンバー変数のset/getメソッドの代わりにiOSの@propertyと同様です.使用可能なパラメータ@Autowired(required=false)は、一致するBeanが見つからない場合でもエラーが報告されず、テストフェーズに多く使用されることを示します.
@Qualifier:@Autowiredと似ています.違いは、@AutowiredコメントはbyType注入を行い、@QualifierはbyName注入を行います.【注意:@Autowiredはメンバー変数、メソッドおよびコンストラクション関数に注釈を付けることができますが、@Qualifierの注釈オブジェクトはメンバー変数、メソッドパラメータ、コンストラクション関数パラメータです.注釈オブジェクトが異なるため、Springは@Autowiredと@Qualifierを1つの注釈クラスに統一しません.】
@Resource:@Autowiredのように、デフォルトではbyNameで自動的に注入されます.nameとtypeの2つのプロパティがあります.Springは@Resource注釈のnameプロパティをbeanの名前に解析し、typeプロパティはbeanのタイプに解析します.したがって、nameプロパティを使用する場合はbyNameの自動注入ポリシーを使用し、typeプロパティを使用する場合はbyTypeの自動注入ポリシーを使用します.nameもtypeも指定しない場合は、byName自動注入ポリシーが反射メカニズムで使用されます.
@Component:コンポーネントを指し、コンポーネントが分類されにくい場合は、この注釈を使用して寸法を付けることができます.
@Service:ビジネス層コンポーネントの寸法設定に使用
@Repository:データアクセスコンポーネント、すなわちDAOコンポーネントの寸法付けに使用
ブログアドレス:SpringMVC開発FAQ