2. 春- ノート
2.1。 注釈付きの原則
:このブログの原則上の注意事項は非常によく書かれているhttps://www.iteye.com/blog/freewxy-1149128 、と私はそれを引用します:
注釈(アノテーション)、同様のコメントの安全性のためのメカニズムを提供したコメントを解析することにより、使用、我々は再びいくつかの時間後に、これらのデータの使用を容易にすることができるように、私たちは、コード内の情報を追加するための正式な方法を(提供これらのデータ)関連したプログラム要素(クラス、メソッド、メンバー変数、等)を有する任意の情報またはメタデータ。実際には、より直感的でより簡単な説明、これらの命令情報とビジネスロジックは関係ありませんし、ツールやフレームワークを使用するために指定されています。注釈のパッケージに適用される修飾の一種、タイプ、コンストラクタ、メソッド、メンバ変数、パラメータとローカル変数断言文のよう。
注釈はインタフェースの一種です。ジャワの関連のリフレクション API にアクセスするためのアノテーション情報を。関連クラス(クラスフレームまたはツール)プログラム要素を使用するか、その動作を変更する方法を決定するために、この情報に基づいて。ジャワの仕事で言語インタプリタは、これらの無視注釈ので、 JVM これらの注釈がある「無効」、およびこれらのみ注釈ツールのサポートを通じて可能な情報にアクセスして処理の種類を。
簡単に言えば、あなたは注釈作ることができる春の注釈ベースの設定を提供、設定作業がより簡潔になってきたXML の代替方法を。
2.2。 注意事項基本的な設定
ノートは、注入された XMLは、注射の前に行わ。このように、XMLの構成は2つの方法で接続されているコメントのプロパティを上書きします。
作成春のXMLの設定ファイルと注釈のためのオープンなサポートを、あなたはより多くの輸入制約インポートする必要があるコンテキスト制約の名前空間を。
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> < 豆のxmlns = "http://www.springframework.org/schema/beans" のxmlns:コンテキスト= "http://www.springframework.org/schema /コンテキスト" のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" のxsi:schemaLocationの=" http://www.springframework.org/schema/beans のhttp://www.springframework。 ORG /スキーマ/豆/春-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd」>
の<bean> .. 。</豆>
</ 豆>
インタフェースの性質上のコメントの前に言った、XMLの内部に注入注釈Beanは、IOCの負荷注釈にコンテンツを識別するために、コンテナ。まず、<コンテキスト:注釈-config>の、あるコンテキスト構成名前空間は暗黙的に等しく、このステートメントを使用する方法を提供スプリング登録血管を4 番目BeanPostProcessor :
AutowirdAnnotationBeanPostProcessor 、CommonAnnotationBeanPostProcessor 、をPersistenceAnnotationBeanPostProcessor 、RequiredAnnotationBeanPostProcessor 。
このことはでき @Resource 、@PostConstruct 、@PreDestroy 、@PersistenceContext 、@Autowired 、@Required 他の注釈、自動注入。
続いて <文脈:コンポーネント・スキャン塩基パッケージ=「...」> ステートメントは、他に注釈設定機能外部、スキャンは、スキャンベースパッケージパッケージスキャンと登録JavaBeansを。同時にで@Component 、@Service 、@Repository 、@Controller オブジェクトは、他の注釈に登録されているばね容器
使用している場合そのため、コンテキスト:コンポーネント・スキャンの後に、あなたがすることができ、コンテキスト:注釈-configが削除しました。
点注目に値するが注釈設定は、機能スキャンパッケージを提供していない、使用@Component 及び他の注釈は、宣言されたBeanが有するオブジェクトのみコンポーネントスキャン容器を走査し、登録します。
詳細参照:https://www.cnblogs.com/zhangsonglin/p/11181064.html
2.3。 一般的なノート
@成分
コンポーネントのノートのためのリソース春に管理します。等価のXML の構成1 豆。必要なの<context:コンポーネントベース・パッケージスキャン=「...」/> カテゴリには、効果のスキャンに注釈を付け、
属性:
値:指定豆の上記ID 。あなたがわからない場合は値の属性を、デフォルトの豆のIDは、クラス名の現在のクラスです。最初の文字は小文字。
リポジトリ@コントローラ@サービス@
コントローラの注釈、サービスノート、倉庫ノートが3つのである @Component 誘導体の注釈、役割と属性と@Componentは同じです、しかし、より明示的なセマンティックを提供します。(コントローラ制御層を意味し、-サービスは、ビジネスレイヤを参照し、リポジトリは永続性を意味します)
@Autowired
プレス byType 容器が存在するか、または同じタイプの複数のない自動注入モード、ビーン例外がスローされます。
@Qualifier
ときに自動注射検索ビーンのID
@資源
プレス BYNAME 注入の自動的な方法
@値
インジェクションや基本データ型の文字列型のデータ
@範囲
指定豆のデフォルトの範囲シングルトン(シングルトン)の値を持つプロトタイプ(複数の患者)、リクエスト、セッション、globalSession など
@PostConstruct
初期化メソッドを指定するために使用されます
@PreDestroy
破壊の方法を指定するために使用します
@Configuration
現在のクラスを指定するために使用されるばねコンテナを作成するときに、構成クラスがクラスノートからロードされます。容器を得るために必要とされる場合AnnotationApplicationContext (そこ@Configuration 注釈付きクラスに.Classに)。
@ComponentScan
指定春の初期化コンテナがパッケージをスキャンします。役割とコンテキスト:コンポーネント・スキャンは同じです。
プロパティ:basePackage
@豆
この方法でのみ書き込まれたコメントが、この方法の使用は、オブジェクトを作成することを示した、とにばね容器。
属性:名称(即ち豆のID)
@PropertySource
ロードするための.properties ファイル構成。多くの場合、コンフィギュレーション・データソースを持っています。
@インポート
他のクラスを導入し、他の構成クラスに導入されたとき、あなたは書くことはできません@Configuration 注釈を。