SpringMVC--四大注釈

2826 ワード

SpringMVC--四大注釈


SpringMVC四大注釈
  • Component

  • 汎用注釈は、どの注釈を使うか分からないときに、Component汎用注釈を使うことができます
  • Controller

  • Webリクエストコントローラの寸法付け
  • Service

  • サービス・レベルの表示サービス
  • Repository

  • DAOレイヤへのデータアクセスの寸法付け
    四大注釈はクラスレベルで、パラメータを持たなくてもいいし、beanの名前を表すパラメータを持ってもいいし、注入を行うときに名前で注入することができます.
    beanの自動読み込み
    SpringMVCのプロファイルではcontext:component-scanで注記を有効にします.これによりwebに代わることができる.xmlでbeanを構成し、beanのロードを自動的に実現します.例:
    <context:component-scan base-package="com.studySpringMVC.*">
    
      <context:include-filter type="annotation" expression="com.studySpringMVC.service"/>
    
      <context:exclude-filter type="annotation" expression=" com.studySpringMVC.service "/>
    
    context:component-scan>

    context:include-filterはスキャンするパッケージを定義し、context:exclude-filterはスキャンしないパッケージを定義し、構成時に2つのラベルのexpression値を同じに設定することはできません
    type属性値は5個あります
    Filter Type
    Examples Expression
    Description
    annotation
    org.example.SomeAnnotation
    SomeAnnoationに準拠するtarget class(四大注釈されたクラス)
    assignable
    org.example.SomeClass
    classまたはinterfaceのフルネームを指定
    aspectj
    org.example..*Service
    AspectJ構文
    regex
    org\.example\.Default.*
    Regelar Expression
    custom
    org.example.MyTypeFilter
    Spring 3新規カスタムタイプ、実作org.springframework.core.type.TypeFilter
     
     
     
     
     
     
    @Resourceまたは@Autowired注記による注入
    @Autowiredのデフォルトはタイプ別にアセンブリされています.デフォルトでは依存オブジェクトが存在する必要があります.null値を許可する場合は、@Autowired(required=false)などのrequiredプロパティをfalseに設定できます.名前アセンブリを使用する場合は、@Qualifier注記と組み合わせて使用できます.
    @Resourceのデフォルトは名前でアセンブリされます.名前はnameプロパティで指定できます.nameプロパティが指定されていない場合は、注釈がフィールドに書かれている場合は、デフォルトでフィールド名で検索されます.注釈がsetterメソッドに書かれている場合は、デフォルトで属性名でアセンブリされます.名前に一致するbeanが見つからない場合、タイプに従ってアセンブリされます.ただし、nameプロパティが指定されると、名前のみでアセンブリされます.@Resourceの使用を推奨します.この注記はJ 2 EEに属し、Springとの結合を減らします.
    posted @
    2017-12-26 22:57小白知浅読書(
    ...) コメント(
    ...) コレクションの編集