著者:IT_faquir
オリジナルます。https://blog.csdn.net/IT_faquir/article/details/78025203
個人的な学習が侵害た場合、削除された連絡してください、使用しました!
---------------------
プロフィールSpringMVC関連のアノテーション|この記事では春を示しています。
春のセクション
1.宣言豆ノート
@Componentコンポーネント、明確な役割がありません
@Service使用(サービス層)Yewuluojiceng
データアクセス層に@Repository(DAO層)を使用します
使用@Controllerプレゼンテーション層で、コントローラのステートメント(C)
2.豆の注意事項を記入
@Autowired:春から提供
@Inject:JSR-330によって
@Resource:JSR-250による
メソッドとプロパティのセットにコメントすることができ、我々は(一目で、少ないコードを書く)プロパティに注釈をお勧めします。
曖昧さの問題について@Autowiredは@Autowired深さを見ることができます-三つの方法、曖昧ソリューションの多様
@Qualifierと@Primaryを発行豆の曖昧さで使用することができます
3.javaの設定クラスに関連したノート
現在のクラス@Configuration Spring構成は、クラス構成、(上流階級)のXML等価宣言されています
方法に@Bean注釈は、この方法は、豆のステートメントの現在の値を返し、別の実施形態では、XML(方法)
このクラスは、Bean(クラス)であることを示す、内部@Componentコメントを組み合わせたクラス構成、現在のクラスを宣言@Configuration
XMLコンテキストに対応する走査するための構成要素@ComponentScan、(上流階級)成分スキャン/
@WishlyConfiguration @ComponentScan @Configuration注釈との組み合わせは、二つの注釈を置き換えることができます
4.セクション(AOP)は、関連する注釈
春は、プログラミングのAspectJの注釈スタイルのセクションをサポートしています。
セクション(上流階級)を宣言@Aspect
、@定義された提案(アドバイス)を中心に前、後、@、@を使用して、直接パラメータとしてルール(切削点)をブロックすることができます。
@Afterメソッド実行した後(方法)を行う
方法が実行される前に@Beforeが(メソッド)を実行
@Aroundの後及び方法(メソッド)を実行する前に実行します
Mingqieポイントを鳴らす@PointCut
Javaクラス構成でエージェント(クラス)を開くには、AspectJの注釈のための@EnableAspectJAutoProxy Springのサポートを使用して
5. @ビーンはサポート属性
@Scope春のBeanインスタンスに提供された新しいコンテナを作成する方法(メソッドを、@Bean持っている必要があります)
提供のタイプでした:
シングルトン(単一の実施形態、コンテナがBean春、デフォルトモードの一例に過ぎない)、
Protetype(毎回新しいコール豆)、
要求(Webプロジェクト、各Beanに対する新しいhttpリクエスト)、
セッション(Webプロジェクト、新しいBeanを作成するには、各HTTPセッション)、
globalSession(それぞれに新しいグローバルHTTPセッションBeanインスタンスを作成します)
また、春のバッチに関与@StepScope
JSR-250によって@PostConstruct、豆のXML構成ファイルに相当するコンストラクタを実行した後に実行にinitMethod
JSR-250によって@PreDestory、豆XML構成ファイルdestroyMethodをと同等の破壊豆を行う前
値注@ 6
@value射出属性値(プロパティ)
:インジェクション方式をサポートするために
、「通常の文字注射を
@value(「マイケル」)
文字列名;
1
2
「の噴射オペレーティングシステムプロパティ
@value( "#{systemProperties [ 'os.name']}")
文字列OSNAME;
1
2
「の噴射式の結果
@value( "#{T(java.lang.Mathに).random()} * 100")
文字列乱数;
1
2
「その他注入Beanプロパティ
@value( "domeClass.name#{}")
文字列名;
1
2
「射出リソースファイル
@value( "CLASSPATH:COM / HGS /こんにちは/ test.txtの")
文字列リソースファイル;
1
2
「注射部位のリソース
@value( "http://www.cznovel.com")
リソースURL;
。1
2
「注入プロファイル
@value( "book.nameの$ {}")
文字列bookName;
1つの。
2
注入法を用いた構成:
①ライト設定ファイル(、test.properties)
book.name = "三体"
。1つの
②@PropertySource負荷設定ファイル(クラス)
@PropertySource( "CLASSPATH:COM / HGS /こんにちは/テスト/ test.propertie")
。1
③PropertySourcesPlaceholderConfigurer Beanを設定する必要があります。
7.コンテキストスイッチング
ActiveProfilesの環境を設定することで使用するために、現在の構成環境のコンテキストを設定する@Profile。(クラスまたはメソッド)
@Conditional Spring4この状態で使用することができ、次いで、注釈は、Beanがインスタンス化されるかどうかを決定するために、条件インターフェースを実装し、一致するメソッドをオーバーライドすることにより、Beanを定義します。(メソッド)
関連8.非同期
@EnableAsyncの設定クラス、非同期タスクのためのオープンなサポート(上流階級)の物語AsyncConfigurerインタフェースからのコメント
@Asyncは、その実際の実装を宣言するために注釈Beanメソッドを使用する非同期タスクである(メソッドまたはクラスのすべての方法は、非同期となり、非同期タスクが開く@EnableAsync必要)
9.タスクのタイミングはに関連します
(上のような)スケジュールされたタスクのためのオープン・サポートの使用に関する@EnableSchedulingクラスコンフィギュレーション
これはcronを、fixDelay、fixRate他のタイプを含む、タスクで宣言する@Scheduled(メソッドは、最初にスケジュールされたタスクのサポートを開く必要があります)
10. @ *注釈を有効にします
これらのアノテーションは主にXXXのサポートを有効にします。
AspectJのための自動プロキシサポートをオン@EnableAspectJAutoProxy
@EnableAsyncオープンサポート非同期メソッド
オープンスケジュールタスクのサポートを@EnableScheduling
ウェブMVCの@EnableWebMvc開いた構成のサポート
@EnableConfigurationPropertiesターンは@ConfigurationPropertiesビーンノートの構成をサポートしています
SpringData JPAリポジトリのためのオープンなサポートを@EnableJpaRepositories
@EnableTransactionManagementオープントランザクションのアノテーションのサポート
@EnableTransactionManagementオープントランザクションのアノテーションのサポート
アノテーションキャッシングサポートを開く@EnableCaching
11.テスト関連の注意事項
@RunWithランナーは、春には、通常のJUnitのためにサポートするために使用されます
@RunWith(SpringJUnit4ClassRunner.class)
。1
属性が設定クラスのクラスをロードするために使用される構成のApplicationContextをロードするために使用@ContextConfiguration、
@ContextConfiguration(クラスTestConfig.class = {})
。1
SpringMVC部
@EnableWebMvc開放構成のクラスの構成は、構成のためのWebMvcConfigurerAdapterオーバーライドメソッド(SpringMVC文なしの一部ViewResolver MessageConverter等、のような、ウェブMVCをサポート)。
@Controllerクラスは、コントローラSpringMVCで宣言されています
(クラスまたはメソッド)とアクセスパスのパラメータを含む、マッピングのためのWebリクエストを@RequestMapping
(戻り値付近又は方法)は、通常、ユーザは、JSONデータを返し、応答に入れ、戻り値ではなく、ページをサポート@ResponseBody
@RequestBody直接アドレスの後に接続されたのではなく、要求本体に要求パラメータを可能にしました。(パラメータの面で)
一般繧インターフェース方式であるとして受信経路、例えば@RequestMapping(「/ハロー/ {名前}」)パスの@PathVariableパラメータは、前に、値を得るために、パラメータの注釈を述べました。
注釈@RestController添加@ResponseBodyを仮定しますコントローラの方法の全てを意味クラスに@Controllerと@ResponseBody、および音符の組み合わせに相当する音符の組み合わせ、です。
注釈によって@ControllerAdvice、私たちは同じ位置にグローバルコントローラのプロファイルを置くことができ、注釈@Controller方法は、方法、へ@ exceptionHandlerの、@ InitBinder、@ ModelAttribute注釈に利用できる
すべての注釈付き!有効RequestMappingコントローラにおける方法。
コントローラでグローバル例外処理のために使用さ@ExceptionHandler
自動的にモデルを結合するために使用WebDataBinder、WebDataBinder受信要求パラメータを設定する@InitBinder。
もともと役割@ModelAttributeがモデルで、キーと値のペアをバインドすることで、グローバル@RequestMappingがで@ControllerAdviceにここで設定したキーへのアクセス権を持つようにすることです。
クロスドメインの問題を解決するための@CrossOriginは唯一の代わりにすぎやインターセプト方法を心配するのは、インターフェイスで宣言することができます。