springboot注釈:
@Service:サービス層Beanによって表されるクラスのアノテーション
クラスにアノテーション、制御層ビーンによって表される:@Controller
@Repository:クラスにアノテーション、データアクセス層Beanによって表されます
@コンポーネント:ジェネリックBeanを意味するクラスに注釈が付けられます。値が記述されていない場合、デフォルトはクラス名の小文字です
@Autowired:タイプによって挿入されます。デフォルトのプロパティはrequired = trueです。特定のタイプのBeanがSpringコンテナに存在する必要があるかどうかわからない場合は、このタイプのBeanを自動的に注入する必要がある場合は、@ Autowired(必須= false)を使用できます。これは、一致するBeanが見つからない場合、SpringにBeanCreationExceptionがスローされないことと同じです。@Autowiredと@Qualifierを一緒に使用すると、自動注入戦略がbyTypeからbyNameに変わります。@Autowiredはメンバー変数、メソッド、およびコンストラクターに注釈を付けることができますが、@ Qualifierの注釈オブジェクトはメンバー変数、メソッド入力パラメーター、およびコンストラクター関数入力パラメーターです。アノテーションオブジェクトが異なるため、Springは@Autowiredと@Qualifierを単一のアノテーションクラスに統合しません。
@Resource:名前で組み立て
違い:
@Resourceはデフォルトで名前で一致するBeanになり、@ Autowiredはデフォルトでタイプで一致するBeanになります
@Resource(importjavax.annotation.Resource;)はJ2EEのアノテーション、@ Autowired(importorg.springframework.beans.factory.annotation.Autowired;)は
Springのアノテーションです@Configuration:アノテーションはクラスにあり、これはIOCコンテナであることを示していますSpring構成ファイル、Java構成に相当します。IOCコンテナーの構成クラスは、通常@Beanアノテーションと組み合わせて使用され、@ ConfigurationアノテーションクラスはXMLでBeanを構成することと同等であり、@ BeanアノテーションメソッドはXMLでBeanを構成することと同等です。
@Bean:メソッドに注釈が付けられ、現在のメソッドがBeanを返すことを宣言します
@Scope:クラスで注釈が付けられ、SpringコンテナがBeanインスタンスを作成する方法を説明します。
(1)シングルトン:Springコンテナー内のシングルトンを表し、Springコンテナーを通じてBeanが取得された場合は常に唯一のインスタンスを返します
(2)プロトタイプ:Beanが取得されるたびに新しいオブジェクトが生成されることを示します
(3)リクエスト:1つのhttpリクエスト内で有効であることを示します(Webアプリケーションにのみ適用可能)
(4)セッション:ユーザーセッション内で有効であることを示します(Webアプリケーションにのみ適用可能)
(5)globalSession:グローバルセッションで有効であることを示します(Webアプリケーションにのみ適用可能)
ほとんどの場合、シングルトンスコープとプロトタイプスコープのみを使用します。スコープ属性が指定されていない場合、デフォルトはシングルトン
@Value:変数に注釈が付けられ、構成ファイルから読み取られます。
例:: @ Value(value =“#{message}”)
@ConfigurationProperties値を割り当て、注釈をオブジェクトに変換します。オブジェクトに値を割り当てます。自動車保険プロジェクト:HttpClientSettingクラス
@Profile:アノテーションは、メソッドクラスのさまざまな状況でさまざまなBeanをインスタンス化することを選択した特定の環境で有効になります。!!!!!!!!!!!!!!!!
@SpringBootApplication:@ SpringBootApplication = @ ComponentScan + @ Configuration + @ EnableAutoConfiguration:規則は構成よりも優れています
@EnableAutoConfigurationは、Springアプリケーションコンテキストの自動構成を有効にし、必要なBeanを推測して構成しようとします。自動構成クラスは通常、クラスパスと定義済みのBeanオブジェクトに基づいて適用されます。@EnableAutoConfigurationで注釈が付けられたパッケージには特定の意味があり、デフォルトの構成として使用されます。すべてのサブパッケージとクラスが見つかるように、ルートパッケージの下で@EnableAutoConfigurationを構成することをお勧めします。
@ComponentScan:クラスに注釈が付けられ、@ Controllerおよびその他の注釈が付けられたクラスをスキャンして、Beanとして登録します。@ComponentScanは、@ Configuration注釈付きクラスのコンポーネントスキャン指示を構成します。@ComponentScanアノテーションは、指定されたパッケージの下で@Componentアノテーションが付けられたすべてのクラスを自動的にスキャンし、Beanとして登録します。もちろん、@ Componentの下のサブアノテーション@ Service、@ Repository、@ Controllerも含まれます
@RestController @RestControllerは、@ ResponseBodyと@Controllerを組み合わせたアノテーションです。
@Responsebodyアノテーションは、このメソッドによって返された結果がHTTP応答本文(ResponseBody)に直接書き込まれることを示します。これは通常、非同期でデータを取得するときに使用されます。通常、@ RequestMappingを使用した後、戻り値は通常ジャンプパスとして解析され、さらに@Responsebodyが解析されます。返された結果はジャンプパスとして解析されませんが、HTTP応答本文に直接書き込まれます。
@RequestBody
@PathVariable
@RequestParam
両方の役割は、リクエスト内のパラメーターの値を制御内のメソッドパラメーターにバインドすることです。違いは、URLの記述方法が異なることです。
リクエストパラメータのユーザー名が存在しない場合は例外が発生します。これは、required = falseに設定することで解決できます。次に例を示します。
@RequestParam(value = "username"、required = false)
@RequestParamを使用する場合、URLは次のようになります:http:// host:port / path?Parameter name = parameter value
@PathVariableを使用する場合、URLは次のようになります。http:// host:port / path / parameter value
書き込まない場合は、パラメーター値も取得できますが、名前は対応している必要があります。パラメータは記述せずに省略できます
@RequestMappingとリクエストメッセージは
a:値に対応し 、リクエストのアドレスを指定します
b:メソッドリクエストメソッドタイプこれが書き込まれていない場合、adaptive:getまたはpost
c:リクエストの送信されたコンテンツタイプを消費します
d:プロデューサーは返されたコンテンツを指定タイプは、指定されたタイプがリクエストリクエストヘッダーの(Accept)タイプに含まれている場合にのみ返されます
e:paramsはリクエストに特定のパラメーター値を含める必要があることを指定します
f:headersはリクエストが指定されたヘッダー値を含める必要があることを指定します
g:nameはマップの名前を指定します
@RequestMapping(method = RequestMethod.GET)
@RequestMapping(method = RequestMethod.POST)
@RequestMapping(method = RequestMethod.PUT)
@RequestMapping(method = RequestMethod.DELETE)
もちろん使用することもできます
@GetMapping
@PostMapping
@PutMapping
@DeleteMappingこれは上記と同じ効果です
@EnablCaching @EnableCachingアノテーションは、Spring Frameworkのアノテーション駆動型キャッシュ管理機能です。この注釈は、春バージョン3.1以降に追加されました。このアノテーションを使用する場合、XMLファイルでキャッシュマネージャーを構成する必要はありません。
@suppresswarningsは警告を抑制します
@Modifyingこのアノテーションが追加、変更、削除、追加された場合
1:メソッドの戻り値は、更新ステートメントによって影響を受ける行数を示すintである必要があります。
2:トランザクションは呼び出し元で追加する必要があり、トランザクションは正常に実行できません。@Transactionalトランザクションアノテーション
@QueryカスタムクエリステートメントJPQL
JPAノート
@エンティティ:
@Table(name = "" "):注釈は、これがエンティティークラスであることを示しています。これらの2つのアノテーションは通常jpaと一緒に使用されますが、テーブル名とエンティティークラス名が同じ場合は、@ Tableを省略できます
@Column:@Columnアノテーションによって設定され、次の設定
名を含みます :データベーステーブルフィールド名
unique:それが一意である
かどうかnullable:空であるかどうか
長さ:長さ
挿入可能
:更新可能に挿入できるかどうか: 更新可能かどうか
columnDefinition:テーブルを作成するときにこの列を作成したDDL
secondaryTable を定義します :セカンダリテーブル名。この列がマスターテーブルに構築されていない場合(デフォルトではマスターテーブルに構築されています)、この属性は列が配置されているスレーブテーブルの名前を定義します。
@Column(name = "user_code"、nullable = false、length = 32)//属性userCodeに対応するフィールドをuser_code、length 32、空でない
プライベート文字列userCode;
@Column(name = "user_wages"、nullable = true 、精度= 12、スケール= 2)//属性wagesに対応するフィールドをuser_wagesに設定します。12桁は小数点以下2桁を保持でき、空の
プライベート二重賃金にすることができます 。
@Id:属性が主キーであることを示します。
@Temporal(TemporalType.DATE)//時間型に設定し
ますprivate Date joinDate;
@Transient:この属性がデータベーステーブルフィールドへのマッピングではないことを示します。ORMフレームワークはこの属性を無視します。属性がデータベーステーブルのフィールドマッピングでない場合は、@ Transientとしてマークする必要があります。そうでない場合、ORMフレームワークはデフォルトでアノテーションを@Basicに設定します。@Basic(fetch = FetchType.LAZY):タグはエンティティ属性の読み込み方法を指定できます
@JsonIgnore:役割は、jsonのシリアライズ、シリアライズ、およびデシリアライズが影響を受ける場合にJava Beanの一部のプロパティを無視することです。
@JoinColumn(name =” loginId”):1対1:別のテーブルを指すこのテーブルの外部キー。1対多:別のテーブルがこのテーブルの外部キーを指しています。
@ OneToOne、@ OneToMany、@ ManyToOne:休止状態の構成ファイルの1対1、1対多、および多対1に対応します。
@GeneratedValueは、strategy属性で指定された主キーの生成戦略に注釈を付けるために使用されます。デフォルトでは、JPAは基礎となるデータベースに最も適した主キー生成戦略を自動的に選択します。SqlServerはIDに対応し、MySQLは自動インクリメントに対応します。次の代替戦略がjavax.persistence.GenerationTypeで定義されています。
IDENTITY:データベースIDの自己インクリメントの方法は、主キーフィールドを増やすことから来ています。Oracleはこの方法をサポートしていません。
AUTO:JPAは適切な戦略を自動的に選択します。これはデフォルトのオプションです。
シーケンス:シーケンスを通じて主キーを生成し、@ SequenceGeneratorアノテーションを通じてシーケンス名を指定します。MySqlはこのメソッドをサポートしていません
TABLE:主キーはテーブルから生成され、フレームワークはテーブルのシミュレーションシーケンスを通じて主キーを生成します。この戦略を使用すると、アプリケーションをデータベースに簡単に移行できます。
————————————————
著作権声明:この記事は、CSDNブロガー「java-elementary student」によるオリジナルの記事であり、CC 4.0 BY-SA著作権契約に従います。元のソースリンクを添付して転載してくださいこのステートメント。
元のリンク:https://blog.csdn.net/yitian_66/article/details/80866571