まず、ノート(注釈)のリスト
@S pringBootApplication:それはComponentScan、@の設定と@EnableAutoConfigurationコメント@含まれています。これは春のブート構成クラスを作るためにスキャンし、プログラムのコンテキストに追加し@ComponentScan。
@Configuration 春のXML設定ファイルに相当し、Javaコードを使用すると、セキュリティの種類を確認することができます。
@EnableAutoConfiguration 自動設定。
@ComponentScan アセンブリは、自動検出およびアセンブリビーンの数をスキャンします。
@Componentは CommandLineRunnerで使用できるプログラムが起動した後、いくつかの基本的なタスクを実行するために使用。
@RestController注釈は@Controller @ResponseBody及びコレクションは、コントローラは、これは豆であることを示しており、関数の戻り値は、HTTP応答の本体に直接充填され、コントローラは、RESTスタイルです。
@Autowired自動的にインポートされました。
@PathVariable取得パラメータ。
@JsonBackReferenceネストされたの連鎖外の問題を解決します。
@RepositoryRestResourcepublic春・ブート・スターター・データ-との残りの部分は使用していました。
第二に、ノート(注釈)コメント
@SpringBootApplication:EnableAutoConfiguration @、@Configurationと@ComponentScan 3つの構成:春ブーツが自動的にプログラムに必要な設定を行いましょう肯定、この構成は同等です。
@ ResponseBody:手段が直接書かれたHTTPレスポンスボディは、一般的に、APIのRESTfulを構築するために取得非同期データに使用されている処理結果を返します。使用後@RequestMapping、戻り値は、典型的には、結果は@responsebodyジャンプパスとして解釈されないが、直接HTTPレスポンスボディに書き込ま返さと、ジャンプパスとして解決されます。
このような非同期としてJSONデータは、@responsebodyを追加した後、それが直接JSONデータを返します取得します。メモは一般@RequestMappingと組み合わせて使用されます。サンプルコード:
@Controller:プロジェクトを担当するコントローラによってスプリングのクラスを定義するための制御装置は、対応するサービス・インターフェース(サービス層)に、ユーザによって送信されたURLリクエストを転送する、一般的に従来の方法で注釈注釈クラスに@RequestMappingを必要とします。サンプルコード:
@RestController:制御層ラベルアセンブリ(例えば、アクションストラット)、ResponseBody @Controllerおよび収集@。推奨:Spring MVCの一般的な注釈は、あなたはいくつかのだろうか?
サンプルコード:
@ RequestMapping:ルーティング情報、特定の機能を担うコントローラへのURLマッピングを提供します。
@EnableAutoConfiguration:ブート春の自動設定(自動設定):自動的に追加した依存jarファイルに応じて、Springアプリケーションを設定しようとする試み。HSQLDBの下のクラスパスは、あなたが手動で任意のデータベース接続豆を設定する必要がない場合は、次に我々は、自動的に(メモリ内の)データベースのメモリの種類を設定します。」
あなたは、自動設定を選択するために@EnableAutoConfigurationまたは@SpringBootApplication @Configurationクラスアップにメモを追加することができます。あなたが特定のアプリケーションが自動的にあなたがしたくないクラスを設定することが判明した場合、あなたはそれらを無効にするには、負の属性@EnableAutoConfigurationコメントを使用することができます。
@ComponentScan:自動検出スキャニングアセンブリのタイプを示します。個人的な理解は、クラスはコンポーネント@これらの注釈をスキャンする必要がある場合、コントローラ@、サービス@などに相当し、ビーンとして登録、春には、自動的に@Configurationクラスを含むすべてのコンポーネントを、収集することができます。
私たちはしばしば、インポート@Autowiredノートと組み合わせ@ComponentScan注釈検索豆を使用します。春は自動的@Configurationクラスを含むすべてのコンポーネントを、収集することができます。私たちはしばしば、インポート@Autowiredノートと組み合わせ@ComponentScan注釈検索豆を使用します。ノー言葉ならば、春ブーツは、次のクラスパックのスキャンを開始し、クラス嘘でリポジトリ注釈や他のサブパッケージ@のサービスを使用します。
@Configuration:あなたは、いくつかのサードパーティのライブラリのxmlファイルを使用する必要がある場合、従来のXML設定ファイルに相当し、まだ@Configurationクラスによってメインクラスの設定項目として推奨- xml構成ファイル@ImportResourceコメントをロードするために使用することができます。推奨:ブート3詳細なメモの春のコア。
@import:他のコンフィギュレーション・クラスを導入するために使用。推奨:春のコア25ブートコメント!
@ImportResource:XML設定ファイルをロードするために使用されます。
@Autowired:自動的に依存Beanをインポートします
@Service:変更するためのサービス層の総会
@Repository:DAOが異常またはリポジトリが翻訳を提供使用@Repository注釈確保することができ、この注釈は変更またはリポジトリのDAOクラスが見つかったとComponetScanを構成し、また、それらのXML構成アイテムを提供する必要はありませんされます。
@Bean:設定さ@Bean同等の豆XMLでタグ付け。
@value:値春ブートapplication.properties構成属性を注入します。サンプルコード:
@Inject:デフォルト@Autowiredと同等、ない必須属性がありません。
@ コンポーネント:コンポーネントが分類されていない場合、我々はマークするこのアノテーションを使用することができるコンポーネントを指します。
@Bean:豆を生成し、スプリングを管理する方法ではなく、クラスの意味で上記のXML当量。
@Autowired:自動的に依存Beanをインポートします。byType方法。Beanが使用するように構成された、特性、組み立て方法を完了し、それがクラスフィールド、メソッドやコンストラクタ、自動組立の完了を標識することができます。Beanを見つけることができない場合であっても、(偽=必須)と結合した時に、エラーはありません。
@Qualifier:豆の同じタイプの複数、@Qualifier(「名前」)を指定することができる場合。@Autowiredと組み合わせて使用します。注入に応じ@Qualifier記述名を定義するだけではなく、具体的には以下のように使用方法を選択した候補、よりきめ細かく制御することができます:
@Resource(「タイプの」タイプの名前=「名前」、=) :括弧内には、コンテンツ、デフォルトBYNAMEはありません。@Autowiredドライと同様のこと。
三、JPAのアノテーション
@Entity:@Table(名=は「」):これはエンティティ・クラスであることを示しています。両方は、一般的に、一般的なを使用してJPA注釈を使用するが、テーブル名とエンティティの名前場合、同じクラス、@表を省略することができます
@MappedSuperclassは:親エンティティの決意に使用されます。親クラスのプロパティのサブクラスが継承することができます。
@ NoRepositoryBean:一般的に親クラスのリポジトリとして使用され、この注釈、リポジトリをインスタンス化しないばね。
@Column:同じフィールド名とカラム名は、省略することができます。
@Id:主キー属性ことを示しています。
@GeneratedValue(= GenerationType.SEQUENCE戦略ジェネレータ=「repair_seq」)は、(自動であってもよい、IDENTITY、ネイティブなど、複数のデータベース間でオートスイッチを表す)フロント鍵生成戦略配列で、指定された配列の名前がrepair_seqあります。
@SequenceGeneretor(名=「repair_seq」、sequenceName =「seq_repair」、allocationSize = 1) :使用するために名前の名前配列が、データベース配列の名前は、2つの名前が一致していてもよい、sequenceNameあります。
@Transientは:プロパティは、データベーステーブル内のフィールドにマッピングされていないことを示し、ORMフレームワークは、属性を無視します。プロパティは、フィールドマッピングデータベース・テーブルでない場合は、そうでない場合は、ORMフレームワークは、デフォルト@Basicとして注釈、@Transientとしてそれをマークしてください。@Basic(= FetchType.LAZYフェッチ):エンティティは、タグの属性を指定することができるロード
@JsonIgnore:役割はJSONシリアライズされたJava Beanでは、シリアライズとデシリアライズが影響を受けている、いくつかのプロパティを無視します。
@JoinColumn(名前=「ログインID」): 1:別のテーブルの外部キーにこのテーブル。多く:このテーブル内の別のテーブルへの外部キー。
OneToOne、@、@ OneToMany、@ ManyToOne:設定ファイルを休止1に、多くの一から一、多くの1に相当します。
四、springMVC関連ノート
@RequestMapping:@RequestMapping( "/パス")は、コントローラが要求UR L.のすべての"/ path"を処理することを示します RequestMappingは、クラスやメソッドのために使用することができ、注釈リクエストアドレスマッピングするための処理です。
クラスに対して、要求クラスに応じて、すべてのメソッドは、親パスとしてアドレスで表されています。このノートでは、6つの属性があります。
params:リクエストが処理方法を許可する前に、特定のパラメータ値を含んでいなければならない指定します。ヘッダー:要求は、要求を処理するためにこのメソッドために、特定の指定されたヘッダ値を含んでいなければならない指定。値:実際のアドレス割当要求、指定されたアドレスは、URIテンプレートモデルとすることができる方法等の方法は、要求のタイプを指定し、GET、POST、PUT、DELETE:消費し:登録コンテンツタイプ(Content-Typeの)/このようなアプリケーションとして、処理要求を指定JSON、テキスト/ HTMLは、生成し:返された場合にのみ、頭のコンテンツタイプは、(受け入れる)要求が要求タイプを含むタイプが指定に戻ります
@RequestParam:従来の方法で使用されるパラメータ。@RequestParam列A = request.getParameter( "A ")。
@PathVariable:パス変数。として
RequestMapping(「利用者/取得/ MAC / {MACADDRESS}」) パブリック文字列getByMacAddress(@PathVariable文字列MACADDRESS){ // 何かをします。 }
パラメータ名とちょうど同じである必要はありブレース。
第五に、グローバル例外ハンドラ
@ControllerAdvice:@Componentが含まれています。これは、スキャンすることができます。統一されたハンドルの例外。
@ExceptionHandler(Exception.classは):この例外は、次のような方法は、上記方法において使用されている実行することである遭遇表します。