春とSpringMVC共通の注釈(RPM)

著者: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は唯一の代わりにすぎやインターセプト方法を心配するのは、インターフェイスで宣言することができます。

おすすめ

転載: www.cnblogs.com/ITSeed/p/11109507.html