声明豆ノート
- @Componentコンポーネント、明確な役割がありません
- @Service使用(サービス層)Yewuluojiceng
- データアクセス層に@Repository(DAO層)を使用します
- プレゼンテーション層、文のコントローラで@Controller使用
豆のノートを注入します
- @Autowired:名前の組み合わせが@Qualifierを使用して組み立てられる場合には、種類に応じてスプリング、自動アセンブリによって提供されます
- @Inject:javax.inject.InjectはJSR-330を使用してインポートする必要が提供するステップと、同じアセンブリのために必要であれば、それは@Namedで必要である名前で、種類に応じて噴射アセンブリを自動的に達成されます。
- @Resource:JSR-250で、javax.annotationで導入されたが、自動組立の名前に基づいて、使用する必要があり、一般的にname属性を指定します
機能注釈
- @Transactionalステートメント業務
- @Cacheable文キャッシュ
コンフィギュレーション・クラスについてのコメント
- 現在のクラスの設定クラスを宣言@Configuration
- 方法に@Beanコメント、現在の方法は、Beanの値を返す宣言
- スキャンのコンポーネント@ComponentScan、
- @WishlyConfiguration @ComponentScan @Configuration注釈との組み合わせは、二つの注釈を置き換えることができます
セクション(AOP)関連のアノテーション
- 態様の宣言@Aspect
- 実行方法の後に実行@After
- 実行方法の前に実行@Before
- 実行方法の前と後に実行@Around
- Mingqieポイントを鳴らす@PointCut
@Beanはサポート属性
任意であって、新しいセット@Scope豆の種類を春:
- シングルトン単一の実施形態、春豆容器単なる一例、デフォルトモード
- 新しいBeanを作成するために、各コールをProtetype
- リクエストWebプロジェクト、新しいBeanを作成するために、すべてのHTTP要求
- セッションWebプロジェクトは、各HTTPセッションに新しいBeanを作成します
- GlobalSession(豆のそれぞれの新しいインスタンスのグローバルHTTPセッション
クラスのライフサイクルのコメント
- 、クラスのコンストラクタが実行豆のXML構成ファイルに相当実行した後、JSR-250によって@PostConstructにinitMethod
- @PreDestory破壊豆の前に行う、JSR-250によって提供されます
コンフィギュレーション・インジェクション
@value射出属性値、次のように射出サポート:
- 通常の文字@value(「マイケル・ジャクソン」)
- オペレーティング・システム・プロパティ@value( "#{systemProperties [ ' os.name ']}")
- 結果式@value( "#{T(java.lang.Mathに).random()* 100}")
- 他のBeanプロパティ@value( "#{ domeClass.name }")
- ファイルエクスプローラ@value( "クラスパス:CN / shiyujun / test.txtの")
- Webサイトのリソース@value( " https://shiyujun.cn ")
- プロファイルプロパティ@value( "{$のbook.name }")
インジェクション・コンフィギュレーション・ファイル@PropertySource( "クラスパス:CN / shiyujun / test.propertie")
コンテキストスイッチング
- ActiveProfilesの環境を設定することで使用するために、現在の構成環境のコンテキストを設定する@Profile
- ノートのシリーズを含む条件セットに従って異なる符号の@Conditional豆ローディング
- @ConditionalOnBean存在豆
- @ConditionalOnMissingBean Beanは存在しません。
- @ConditionalOnClassクラスがあります
- @ConditionalOnMissingClassクラスが存在しません。
- 設定ファイルにSYJが属性を先頭に存在@ConditionalOnProperty(接頭辞=「SYJ」、名前は=「アルゴリズム」、havingValue =「トークン」)、名前アルゴリズム属性、それはトークン値をインスタンス化しますクラス。
- @ConditionalOnProperty(接頭辞=「SYJ」、名前=「アルゴリズム」、havingValueは=「カウンター」、matchIfMissing =真)全てが満たされない場合、次の選択カウンタデフォルトの実装
- @ConditionalOnJavaは、Javaアプリケーションである場合
- Webアプリケーションがある場合は@ConditionalOnWebApplication
関連する非同期
- その実際の実装は非同期タスクで宣言する注釈Beanメソッドを使用@Async
に関連するタスクのタイミング
- これはcronを、fixDelay含めて、タスクで宣言する@Scheduled、fixRate他のタイプ
一部の機能オープン
- AspectJのための自動プロキシサポートをオン@EnableAspectJAutoProxy
- @EnableAsyncオープンサポート非同期メソッド
- オープンスケジュールタスクのサポートを@EnableScheduling
- ウェブMVCの@EnableWebMvc開いた構成のサポート
- @EnableConfigurationPropertiesターンは@ConfigurationPropertiesビーンノートの構成をサポートしています
- SpringData JPAリポジトリのためのオープンなサポートを@EnableJpaRepositories
- @EnableTransactionManagementオープントランザクションのアノテーションのサポート
- アノテーションキャッシングサポートを開く@EnableCaching
テスト関連の注意事項
- @RunWith春は、通常のJUnitのためにサポートするために使用されます
- 設定のApplicationContextをロードするために使用@ContextConfiguration
SpringMVC一部
- アクセス・パスとパラメータを含むマッピングのためのWeb要求を、@RequestMapping
- ページではなく、応答に配置された戻り値をサポートしResponseBody
- pathパラメータを受信するための手段@PathVariable
- 注釈@RestController添加@ResponseBodyを仮定しますコントローラの方法の全てを意味するクラスの@Controllerと@ResponseBody、および音符の組み合わせに相当する音符の組み合わせは、あります
- 注釈によって@ControllerAdvice、私たちは同じ位置にグローバルコントローラのプロファイルを置くことができ、注釈@Controller方法は、方法、へ@ exceptionHandlerの、@ InitBinder、@ ModelAttribute注釈に利用できる
すべての注釈付き!有効RequestMappingコントローラにおける方法。 - コントローラでグローバル例外処理のために使用さ@ExceptionHandler
- 自動的にモデルを結合するために使用WebDataBinder、WebDataBinder受信要求パラメータを設定する@InitBinder。
- もともと役割@ModelAttributeがモデルで、キーと値のペアをバインドすることで、グローバル@RequestMappingがで@ControllerAdviceにここで設定したキーへのアクセス権を持つようにすることです。
関連SpringBoot
- @EnableAutoConfigurationビーンは、自動的に必要なすべてのアプリケーションをロードします。注釈@importアノテーションの組み合わせは、@インポートアノテーションは、META-INF / spring.factoriesファイルを有する走査方式SpringFactoriesLoader.loaderFactoryNamesジャーパッケージを使用EnableAutoCofigurationImportSelectorクラスを導入します。自動的に構成文のspring.factories
+ @SpingBootApplication SpringBootコアノートは、主な目的は、自動設定を開くことです。これは主にEnableAutoConfiguration(コア)と@ComponentScan @、コンフィギュラ@兼ね備え、またノートの組み合わせです。特定自動構成@SpringBootApplicationによって閉じることができる(自動設定{.classファイルをクローズするクラス} =除外) - @ImportResource負荷xml設定
- 指定されたクラスの自動設定後に再配置@AutoConfigureAfter