春のすべての注釈大きな秘密

声明豆ノート

  • @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

おすすめ

転載: www.cnblogs.com/zhixiang-org-cn/p/11290054.html