1、@ SpringBootApplication
この注釈は、Spring Bootのコア注釈であり、Spring Bootクラスのメインクラスで使用され、これがSpring Bootアプリケーションであることを識別し、SpringBootのさまざまな機能を有効にするために使用されます。実際、この注釈は、@ Configuration、@ EnableAutoConfiguration、および@ComponentScanの3つの注釈の組み合わせです。これらの注釈は通常一緒に使用されるため、SpringBootは統合された注釈@SpringBootApplicationを提供します。
2、@ EnableAutoConfiguration
Spring Bootが自動的に注釈を構成できるようにします。この注釈をオンにすると、SpringBootは現在のクラスパスの下にあるパッケージまたはクラスに従ってSpringBeanを構成できます。
たとえば、現在のクラスパスの下にMybatis JARパッケージがあり、MybatisAutoConfigurationアノテーションは、関連するパラメータに従ってMybatisの各SpringBeanを構成できます。
@EnableAutoConfigruationを実現するための鍵は、AutoConfigurationImportSelectorの導入です。そのコアロジックはselectImportsメソッドです。ロジックはおおまかに次のとおりです。
- 構成ファイルMETA-INF / spring.factoriesからすべての可能な自動構成クラスをロードします。
- 重複を削除し、excludeおよびexcludeName属性によって運ばれるクラスを除外します。
- フィルタリングし、条件を満たす自動構成クラスを返します(@Conditional);
3、@ Configuration
構成クラスを定義するために使用され、このクラスがBean構成の情報ソースであることを示します。これは、従来のxml構成ファイルと同等であり、通常はメインクラスに追加されます。一部のサードパーティライブラリでxmlファイルを使用する必要がある場合でも、プロジェクトのメイン構成クラスとして@Configurationクラスを使用することをお勧めします--- @ ImportResourceアノテーションを使用してxml構成ファイルをロードできます。
4、@ ComponentScan
コンポーネントのスキャン。Sping BootをConfigurationクラスにスキャンして、プログラムコンテキストに追加します。
@ComponentScanアノテーションは、デフォルトで@ Controller、@ Service、@ Repository、および@Componentアノテーションクラスをスプリングコンテナにアセンブルします。
5、@リポジトリ
データアクセスコンポーネント、つまりDAOコンポーネントにラベルを付けるために使用されます。
@Repositoryアノテーションを使用すると、DAOまたはリポジトリが例外変換を確実に提供できます。このアノテーションによって変更されたDAOまたはリポジトリクラスは、ComponetScanによって検出および構成されるため、XML構成アイテムを提供する必要はありません。
6、@ Serivece
通常、サービスレイヤーのコンポーネントを変更するために使用されます。
7、@ RestController
コントロールレイヤーコンポーネント(ストラットでのアクションなど)をマークするために使用され、これがコントローラーBeanであることを示し、関数の戻り値は、RESTスタイルのコントローラーであるHTTP応答本文に直接入力されます。これは@Controllerおよび@ResponseBodyです。コレクション。
8、@ ResponseBody
このメソッドの戻り結果がHTTP応答本文に直接書き込まれることを示します
通常、非同期でデータを取得する場合に使用されます。@ RequestMappingを使用した後、戻り値は通常ジャンプパスとして解析されます。@ responsebodyを追加した後、戻り結果は転送パスとして解析されません。20はHTTP応答本文に直接書き込まれます。たとえば、jsonデータを非同期で取得するには、@ responsebodyを追加した後、jsonデータが直接返されます。
9、@ Component
コンポーネント全般を指します。コンポーネントが適切に分類されていない場合は、この注釈を注釈に使用できます。
10、@ Bean
これは、XMLの<bean> </ bean>と同等であり、クラスではなくメソッドの上に配置されます。つまり、Beanは生成され、Springによって管理されません。
11、@ AutoWired
byTypeメソッド。構成済みのBeanを使用して、属性とメソッドのアセンブリを完了します。クラスメンバーの変数、メソッド、およびコンストラクターに注釈を付けて、自動アセンブリを完了できます。
(required = false)を追加すると、Beanが見つからなくてもエラーは報告されません。
12、@修飾子
同じタイプのBeanが複数ある場合は、@ Qualifier( "name")を使用して指定し、@ Autoworedで使用できます。
13、@ Resource(name = "name"、type = "type")
括弧がない場合、byNameがデフォルトです。@Autoworedに似ています。
14、@ RequestMapping
RequestMappingは、要求アドレスマッピングを処理するために使用される注釈です。ルーティング情報を提供し、クラスまたはメソッドで使用できるコントローラー内の特定の関数へのURLのマッピングを担当します。クラスで使用されるということは、要求に応答するクラス内のすべてのメソッドがこのアドレスを親パスとして使用することを意味します。
15、@ RequestParam
メソッドパラメータの前で使用:
@RequestParam String a =request.getParameter("a")
16 @ @ PathVariable
パス変数。パラメータは、中括弧内の名前と同じである必要があります。
RequestMapping("user/get/mac/{macAddress}")
public String getByMacAddress(@PathVariable String macAddress){
//do something;
}
17、@ Profiles
Spring Profilesは、アプリケーション構成を分離し、これらの構成を特定の環境でのみ有効にする方法を提供します。@Componentまたは@Configurationは@Profileでマークできるため、ロードする時間が制限されます。
@Configuration
@Profile("prod")
public class ProductionConfiguration{
//do something;
}
18、@ ConfigurationProperties
Spring Bootは、注釈を使用して、カスタムプロパティファイルをconfig.propertiesファイルなどのエンティティBeanにマップできます。
@Data
@ConfigurationProperties("rocketmq.consumer")
public class RocketMQConsumerProperties extends RocketMQProperties {
private boolean enabled = true;
private String consumerGroup;
private MessageModel messageModel = MessageModel.CLUSTERING;
private ConsumeFromWhere consumeFromWhere = ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET;
private int consumeThreadMin = 20;
private int consumeThreadMax = 64;
private int consumeConcurrentlyMaxSpan = 2000;
private int pullThresholdForQueue = 1000;
private int pullInterval = 0;
private int consumeMessageBatchMaxSize = 1;
private int pullBatchSize = 32;
}