春とspringmvcコメントの概要

春とspringmvc共通注意:
注意:参加コードのコンパイルを、@で始まります。それは意味のない独立したノートの使用は、ツールで使用して使用する必要があり、いわゆるツールは、実際のアプリケーションノート読み取ることができ、アプリケーションに確認することです
春の部品を:
文の豆:
@Component:春豆の一般的な標準クラス。
@Controller:コントローラコンポーネントクラスラベル。
@RequestMappingクラス上の注意事項を一致させることができます。狭窄が要求することができる
ビジネスロジックコンポーネントクラスラベル:@Serviceを。
@Repository:DAOコンポーネントのクラスラベル。
デフォルトのBeanインスタンス名は、最初の文字を小文字Beanクラス、その他の部分変更されません。クラス名は大文字または2つの以上の単語、豆のデフォルト名とクラス名が同じままで始まるとき、私たちは、name属性を強制的に注釈を追加ビーン例@Service(「ユーザー」)の名前を指定することができます。春の将来のリリースでは、コントローラ@、サービス@、@リポジトリは、 より多くの意味を運ぶでしょう。ジェネリック@Componentのリポジトリ代わり@、@コントローラ、@サービスの利用を検討してみてください。
上記構成一般注釈パケットはパススキャナスプリング指定するように構成する必要がある場合
、<:コンポーネントスキャン塩基コンテキストパッケージ=「com.java.app.service」/>
自動的com.java.appを.serviceパッケージの下にスキャンコメント。
インジェクション豆:
セッターメソッドを排除@Autowired(スプリング注釈)、自動注入アセンブリ。自動的に検索し、コードの試合でそのコンテキストがビーン、および自動的に適切な場所に注入され(デフォルトは、次に、一致する名前の検索複数の同じタイプを使用することです)。
@Autowired trueに必要なプロパティのデフォルト値(=偽が必要)、エラーがBean未満を知っているだろう、falseに設定され、それがnullに設定されたことはありません。
@Autowired
修飾子(「userJdbcImps」)@とき、同じタイプのより多くの時間、名前検索を指定します。また、フィールドの名前を変更したり、指定した@Qualifier注入を使用することができます。
@Resource(J2EE注釈):名前は、名前がname属性で指定することができるよう、属性名が指定されていない場合は注釈がフィールド上に書かれたときに、アセンブリのデフォルト、デフォルトのフィールド名の検索は、名前で撮影した書き込み注釈の場合デフォルト名はGET属性のsetterメソッドに組み立てられています。豆の種類に応じて、組み立てられたときには、一致する名前が見つかりません。しかし、指定された場合、名前は属性場合は、名前だけで組み立てられることに注意してください。
@Inject(J2EE注釈)
のJavaクラス注釈構成:
フォームスプリングXML構成(上位クラス)に対応@Configuration現在のクラスが宣言され、クラス構成、
方法に@Beanアノテーションは、この方法は、豆、代替の文の現在の値を返しますそのような方法(メソッド)のXML
@import注釈が装填構成は他のクラスから@Bean定義可能にすることができます。
@Beanプロパティはサポートされています。
@Scope文がIOCコンテナーをスコープ、デフォルトではシングルトンです。プロパティ値:
シングルトン(シングルトン)と唯一のグローバルインスタンス
プロトタイプ(複数の場合)の新しいインスタンスがあるだろう、すべての取得豆
最後の三つのみのWebアプリケーションに使用することができ、通常は一緒にXmlWebApplicationContextの使用されている
要求を:春のコンテナは、新しいRequestPrecessorオブジェクトを作成するために、各HTTPリクエストのためになります要求の完了後、オブジェクトの有効期間は、ライフサイクルにおけるJavaのWeb要求として、近くに来ます。
セッション:セッションのライフサイクルでのJava Web場合Springコンテナは、何の違いを、はるかに長いリクエストスコープのBeanが生き残るよりも、自分自身のそれぞれの新しいのUserPreferences例に個別のセッションを作成していない他の側面。
グローバルセッション:ポートレットのWebベースのアプリケーションでのみ、アプリケーションが理にかなって、それは、ポートレットのセッショングローバルスコープにマッピングされています。スコープのこのタイプを使用して一般的なサーブレットベースのWebアプリケーションで操作した場合、そのコンテナは、スコープの通常のセッションタイプとして扱われます。
JSR-250によって@PostConstruct、コンストラクタを実行した後、にinitMethodにおける豆XML構成ファイルに相当行う
豆XML構成ファイルdestroyMethodをに相当する破壊ビーンを実行する前に、JSR-250によって提供@PreDestory

AOP関連のノート:
、@カスタム通知(アドバイス)周りの前に、@の後に@を使用して側面(クラス)を宣言@Aspectは、パラメータとして直接ブロックルール(ポイントカット)することができます。
@After依然としてポイントカット指定する必要がある方法(メソッド)を実行した後に行わ
@Beforeは依然としてポイントカット指定する必要がある方法(メソッド)を行う前に行わ
@Aroundメソッド(メソッド)を実行する前に実行した後でもありますポイントカットは必要
AspectJの(上流階級)のJavaクラス開放構成スプリングプロキシサポート使用@Pointcut音響Mingqie @EnableAspectJAutoProxy注釈点
@value注釈
@value噴射属性値(プロパティ)@value(「$ {}」 ) とを2つの方法で@value(「#{}」)、
@value(「#は{}」)は、一般式を得るために使用されるのSpeI豆の特性を示し、またはBeanのメソッドを呼び出します。もちろん、定数が表すことができる。
例えば:
@value(「#{} 1。」)
プライベートint型の数; //取得数1。
@value(「#{ 『春の式言語を』}」)文字列定数を取得//
プライベート文字列をSTR;
@value( "dataSource.url#{}")//は、Beanのプロパティを取得する
文字列jdbcUrlとプライベート。

@valueは(「$ {}」)のファイル属性の定義を、対応する属性値を取得することができます。
例:プロパティファイルの値を取得します。
プロパティファイルには、ユーザー= Godvを持っている
XMLで:

<context:property-placeholder location="classpath:exam.properties"/>

コード:
@value(値=「$ {}ユーザー」)
プライベート文字列名は、
名前Godvを求めた値であることができる。
関連する音符に対する試験:
@RunWithはRunWith(SpringJUnit4ClassRunner.class)@、ランナーであり、その結果春のテストでは、テスト環境で実行します。唯一junit4に適用され
、@ExtendWithノートは春のテスト環境でのテスト実行を行うExtendWith(SpringExtension.class)@、試験方法とクラスの実装で拡張をトリガ宣言することができる唯一のjunit5に適用されます。
@ContextConfigurationは、構成のApplicationContextをロードするために使用され、プロパティは、クラス、クラスローディング設定@ContextConfiguration(「クラスパス:applicationContext.xmlを」)を指定するために使用される
:クラス名-context.xmlプロファイルを現在のクラスのパスにデフォルトのパス名を読み取るように構成されていません。

@SpringJUnitConfig(位置= "クラスパス:アプリ -context.xml")。中括弧は見つけるために、現在のディレクトリに書き込みをしないでくださいクラス名-context.xmlはjunit5に適用さ
に相当
@ExtendWith(SpringExtension.class)
@ContextConfiguration(「:applicationContext.xmlをCLASSPATH」)

Junit5的デモ
@ExtendWith(SpringExtension.class)
@ContextConfiguration(「クラスパス:アプリ-のcontext.xml」)
publicクラスアプリ{
@Autowired
プライベート豆豆。
@Test
公共ボイドTEST1(){
System.out.printlnは(豆)。
bean.say();
}
}
其中
@ExtendWith(SpringExtension.class)
@ContextConfiguration(「クラスパス:APP-のcontext.xml」)
可简写成:
@SpringJUnitConfig(位置=「クラスパス:APP-のcontext.xml」)
Junit4的デモ:
@RunWith(SpringJUnit4ClassRunner .classファイル)
@ContextConfiguration(「クラスパス:APP-のcontext.xml」)
パブリッククラスアプリ{
@Autowired
プライベート豆の豆;
@テスト
無効TEST1パブリック(){
System.out.printlnは(豆);
bean.say();
}
}
と略記することができません。
注意:私たちはユニットテストを使用します。私達の注意の同じバージョンをインポートバージョンとEclipseの設定を制御します。
junit4で走者を設定する@RunWith(SpringRunner.class)を使用。そして、JDK5以上のJavaランタイムバージョン。パッケージには、インポートorg.junit.Testを導入し、試験方法が唯一の公共使用して、他のではないでしょう。
junit5で走者を設定する@ExtendWith(SpringExtension.class)を使用。そしてjdk8以上のJavaランタイムバージョン。パッケージは、インポートorg.junit.jupiter.api.Testを導入し、民間の試験方法は、他の缶を使用することはできません。

一部Springmvc:
注釈リクエストアドレスマッピングのためのプロセスを@RequestMapping、クラスやメソッドのために使用することができます。クラスに対して、要求に応じて、すべてのメソッドは、アドレス要求狭く親クラス・パスとしてクラスで表され
:プロパティ説明
値:要求された物理アドレスを指定し、アドレスは以下であろう(URIテンプレートモードを指定することができます説明);
メソッド:GET、要求されたメソッドの種類を指定し、POST、PUT、DELETEなど;
消費する:特定処理が要求されたコンテンツタイプ(コンテンツタイプ)を提出し、例えばファイルアプリケーション/ JSON、テキスト/ HTMLは、
生成されます内容は返さ指定しますタイプ、指定されたタイプの入力に戻ります含む要求リクエストヘッダ(受け入れ)場合にのみ、
のparamsは:要求は、特定のパラメータ値を含まなければならない指定し、唯一の処理方法となるよう。
ヘッダー:要求は、要求を処理するためにこのメソッドために、特定の指定されたヘッダ値を含んでいなければならない指定。
@ModelAttributeと@SessionAttributes
@SessionAttributes:
中のプロセスパラメータで使いやすいオブジェクト属性値への注釈のHttpSessionバインディング、。
アノテーションは値を有し、タイプ二つの属性、属性オブジェクトは、名前とタイプによって使用されるように指定することができる。
@ModelAttribute
注釈は2つの用途は、パラメータのための1つの方法を有する;
方法で使用される場合:通常@RequestMapping、モデル結合の必要性、背景からの要求を処理する前に使用。
使用されるパラメータの場合:名前で対応するには、パラメータ名注釈Beanに対応する値を結合する;値から拘束されることは:
属性オブジェクトA)有効@SessionAttributes;
B)@ModelAttribute用モデルオブジェクトのメソッド指定するときに、
2例の上方C)を時々ない、我々は、Beanに値をバインドするために、対応する様式で結合新しい新しいBeanオブジェクト、および名前によって要求を必要としています。
@RequestHeader:処理方法パラメータを完了するために、プロセッサ要求ヘッダ(ヘッダ)トランザクションを結合させる方法である。
@CookieValue:治療方法に関するパラメータ関数は、プロセッサに結合したクッキートランザクションを完了する。

@PathVariable:URLテンプレート変数パラメータをパラメータとして処理方法、すなわち抽出URIテンプレート変数にマッピングされるための要求。
@RequestParam:はdefaultValue =「0」、必要:主に取得パラメータSpringMVCバックグラウンド制御層に用い、同様のものは、3つの一般的なパラメータを有するrequest.getParameter(「名前」)、である =偽、値=「isApp」;はdefaultValue パラメータに渡されなければならないもので、値の値が入ってくるパラメータの型の受容を示すboolean設定で必要な設定のデフォルト値を表します。
@ResponseBody:オブジェクト制御方法復帰用の注釈、指定された形式のデータ領域の後に適切な変換HttpMessageConverter体によって、オブジェクトが応答に書き込まれます。戻りのJSON XML、ときに一般的に使用さ
@RequestBody注釈は、システムのデフォルト設定HttpMessageConverter解析を使用して、リクエストの要求されたデータの本体部分を読み取るために使用し、返すようにオブジェクトに対応するデータにバインドし、次にHttpMessageConverterメソッドパラメータのデータコントローラにバインドされたオブジェクトを返します。

おすすめ

転載: blog.csdn.net/qq_41703795/article/details/93308627
おすすめ