怖い私は春のブートコメントを覚えていませんか?ここ5つの全体のクラスのノート(推奨コレクション)

序文

注釈を使用する利点:
1.純粋なJavaコードを、複雑なXMLファイルを設定する必要はありません
構成で2は、オブジェクト指向持参の恩恵享受することができる
再構築のための3種類のセキュリティを良いサポートを提供することができ
、複雑な設定を減らす4.一方のファイルは、コンテナのspringIoCによって提供される機能を楽しむことができます

コア春ブーツのコメントがあります。大幅に春のプロジェクトの建設と発展を簡素化するノートのさまざまな組み合わせによって、春ブーツ、。春ブーツでいくつかのノートは、キーが存在している、あなたはマスターする必要があります。その後、我々は、詳細な説明を与えます。

まず、ノート(注釈)のリスト

@SpringBootApplication:ComponentScan、@の設定と@EnableAutoConfigurationコメント@含まれています。これは春のブート構成クラスを作るためにスキャンし、プログラムのコンテキストに追加し@ComponentScan。
春のXML設定ファイルに相当@Configuration、Javaコードを使用すると、セキュリティの種類を確認することができます。
@EnableAutoConfiguration自動設定。
@ComponentScan走査アセンブリ、および自動検出ビーンの数を組み立てます。CommandLineRunnerは、プログラムが起動した後、いくつかの基本的なタスクを実行するために使用してBR />コンポーネント@を使用することができます。
注釈が@ResponseBody @RestController @Controller及びコレクションは、コントローラは、これは豆であることを示しており、関数の戻り値は、HTTP応答の本体に直接充填され、コントローラは、RESTスタイルです。
BR />自動的にインポートAutowired @。
@PathVariable取得パラメータ。
BR /> JsonBackReference @入れ子になったの連鎖外の問題を解決します。
春・ブート・スターター-DATA-と@RepositoryRestResourcepublic残りは使用していました。

第二に、ノート(注釈)コメント

@SpringBootApplication:EnableAutoConfiguration @、@Configurationと@ComponentScan 3つの構成:春ブーツが自動的にプログラムに必要な設定を行いましょう肯定、この構成は同等です。

package com.example.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

@ResponseBody:メソッドが直接書き込まHTTPレスポンスボディは、一般的APIは、RESTfulな構築するために取得した非同期データで使用された結果を返すことを示しています。使用後@RequestMapping、戻り値は、典型的には、結果は@responsebodyジャンプパスとして解釈されないが、直接HTTPレスポンスボディに書き込ま返さと、ジャンプパスとして解決されます。このような非同期としてJSONデータは、@responsebodyを追加した後、それが直接JSONデータを返します取得します。メモは一般@RequestMappingと組み合わせて使用​​されます。サンプルコード:

@RequestMapping(“/test”)
@ResponseBody 
public String test(){
return”ok”;
}

@Controller:プロジェクトを担当するコントローラによってスプリングのクラスを定義するための制御装置は、対応するサービス・インターフェース(サービス層)に、ユーザによって送信されたURLリクエストを転送する、一般的に従来の方法で注釈注釈クラスに@RequestMappingを必要とします。サンプルコード:

@Controller 
@RequestMapping(“/demoInfo”)
publicclass DemoController {
@Autowired 
private DemoInfoService demoInfoService;
@RequestMapping("/hello")
public String hello(Map<String,Object> map){
System.out.println("DemoController.hello()");
map.put("hello","from TemplateController.helloHtml");
//会使用hello.html或者hello.ftl模板进行渲染显示.
return"/hello";
}
}

@RestController:制御層ラベルアセンブリ(例えば、アクションストラット)、ResponseBody @Controllerおよび収集@。サンプルコード:

package com.kfit.demo.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController 
@RequestMapping(“/demoInfo2”)
publicclass DemoController2 {
@RequestMapping("/test")
public String test(){
return"ok";
}
}

@RequestMapping:特定の機能を担うコントローラへのルーティング情報、URLマッピングを提供します。
@EnableAutoConfiguration:春のブート自動設定(自動設定):自動的に追加した依存jarファイルに応じて、Springアプリケーションを設定しようとする試み。HSQLDBの下のクラスパスは、あなたが手動で任意のデータベース接続豆を設定する必要がない場合は、次に我々は、自動的に(メモリ内の)データベースのメモリの種類を設定します。「あなたは@EnableAutoConfigurationまたは@SpringBootApplication @Configurationにメモを追加することができますあなたがしたくないクラスを設定し、あなたがそれらを無効にするには、負の属性@EnableAutoConfigurationコメントを使用することができます。..自動的に特定のアプリケーションを見つけた場合は、自動的に設定するには、最大カテゴリを選択
@ComponentScan :.あれば、理解するために個人的な同等のクラス自動検出スキャンコンポーネントを表し、コントローラ@などのサービス、およびビーンとして登録@、春は自動的@Configurationクラスを含むすべてのコンポーネントを、収集することができ、コンポーネント@クラスにこれらのノートをスキャンします。私たちは、多くの場合、輸入@Autowiredコメントと合わせ@ComponentScan注釈検索豆を使用。春は自動的@Configurationクラスを含むすべてのコンポーネントを、収集することができます。私たちはしばしば@ComponentScan注釈検索豆を使用し、@Autowiredと組み合わせると、インポートを指摘している。言葉場合は、春のブーツはどこパッケージの下クラスのスキャンを開始します 。そして、サブパッケージリポジトリの注釈や他のクラス@、@のサービスを使用して
BR /> @構成:あなたは、いくつかのサードパーティのライブラリのxmlファイルを使用する必要がある場合、従来のXML設定ファイルに相当し、まだ@Configurationによってクラスのプロジェクトとして推奨メインクラスの設定は、 - xml構成ファイル@ImportResourceコメントをロードするために使用することができます。
@import:他のコンフィギュレーション・クラスを導入するために使用。
BR /> @ ImportResource:XML設定ファイルをロードするために使用されます。
@Autowired:自動的依存インポート豆
BR /> @ -サービス:一般レイヤ修正に使用されるサービス・コンポーネント
@Repositoryを:注釈を@Repositoryは、翻訳DAOまたは例外リポジトリ、リポジトリ注釈または修飾DAOクラスを確保使用が見出されるComponetScanそして、設定し、彼らはまた、彼らのためにXML設定項目を指定する必要はありません。
BR />ビーン@:設定さ@Bean同等の豆XMLでタグ付け。
@value:値春ブートapplication.properties構成属性を注入します。サンプルコード:

@Value(value = “#{message}”)
private String message;

@Inject:デフォルト@Autowiredと同等、ない必須属性がありません; BR />コンポーネント@:コンポーネントが分類されていない場合、我々はマークするこのアノテーションを使用することができるコンポーネントを指します。
@Bean:豆を生成し、スプリングを管理する方法ではなく、クラスの意味で上記のXML当量。
BR /> AutoWired @:自動的に依存Beanをインポートします。byType方法。Beanが使用するように構成された、特性、組み立て方法を完了し、それがクラスフィールド、メソッドやコンストラクタ、自動組立の完了を標識することができます。Beanを見つけることができない場合であっても、(偽=必須)と結合した時に、エラーはありません。
@Qualifier:豆の同じタイプの複数、@Qualifier(「名前」)を指定することができる場合。@Autowiredと組み合わせて使用します。注入に応じ@Qualifier記述名を定義するだけではなく、具体的には以下のように使用方法を選択した候補、よりきめ細かく制御することができます:

@Autowired 
@Qualifier(value = “demoInfoService”)
private DemoInfoService demoInfoService;

@Resource(名前=「名前」、タイプ=「タイプ」):括弧内には、コンテンツ、デフォルトBYNAMEはありません。@Autowiredドライと同様のこと。

三、JPAのアノテーション

@Entity:@Table(名=「は」 ): これは、エンティティ・クラスであることを示しています。両方は、一般的に、一般的なを使用してJPA注釈を使用するが、テーブル名とエンティティの名前は、同じクラス、@表を省略してもよい場合BR /> @ MappedSuperClass:親エンティティの決意に使用されます。親クラスのプロパティのサブクラスが継承することができます。
一般的に、親クラスのリポジトリとして使用され、この注釈、リポジトリをインスタンス化しない春:@NoRepositoryBean。
BR /> @カラム:フィールド名とカラム名と同じ、それを省略することができます。
@Id:主キー属性ことを示しています。
@GeneratedValueは(戦略= GenerationType.SEQUENCE、ジェネレータ= 「repair_seq」): (自動車であってもよい、IDENTITY、ネイティブなど、複数のデータベース間でオートスイッチを表す)フロント鍵生成戦略配列で、指定された配列の名前がrepair_seqあります。
@SequenceGeneretor(名=「repair_seq」、 sequenceName =「seq_repair」、allocationSize = 1):名前を使用する配列の名前であり、データベースの配列の名称がsequenceNameで、二つの名前が一致していてもよいです。
BR />過渡@:この属性は、データベーステーブルのフィールドにマップされていない示し、ORMフレームワークは、属性を無視します。プロパティは、フィールドマッピングデータベース・テーブルでない場合は、そうでない場合は、ORMフレームワークは、デフォルト@Basicとして注釈、@Transientとしてそれをマークしてください。@Basic(= FetchType.LAZYフェッチ):エンティティは、タグの属性を指定することができるロード
@JsonIgnore:役割はJSONシリアライズされたJava Beanでは、シリアライズとデシリアライズが影響を受けている、いくつかのプロパティを無視します。
BR /> @ JoinColumn(名前= 「ログインID」): 1:別のテーブルの外部キーにこのテーブル。多く:このテーブル内の別のテーブルへの外部キー。
@ OneToOne、@ OneToMany、@ ManyToOne : 設定ファイルを休止1に、多くの1、多くの1つに1つに対応します。

四、springMVC関連ノート

@RequestMapping:@RequestMapping( "/パスが" ) コントローラが要求UR L.のすべての"/ path"を処理することを示します RequestMappingは、クラスやメソッドのために使用することができ、注釈リクエストアドレスマッピングするための処理です。
クラスに対して、要求クラスに応じて、すべてのメソッドは、親パスとしてアドレスで表されています。このノートは、6つの属性がある
のparams:処理方法を許可する前に、特定のパラメータ値が含まれている必要があり、要求を指定します。
ヘッダー:要求は、要求を処理するためにこのメソッドために、特定の指定されたヘッダ値を含んでいなければならない指定。
値:実際のアドレス割当要求、指定されたアドレスは、URIテンプレートモードとすることができる
方法等、要求されたメソッドのタイプを指定するGET、POST、PUT、DELETE
BR />は、消費:特定処理の提出タイプ(Content-Typeの)要求を、ファイル・アプリケーションは、/ JSON、テキスト/ HTMLは、
生成されます返された場合にのみ、頭のコンテンツタイプ(受け入れ)要求は、要求タイプがタイプがに戻ります指定含ま
@RequestParam:パラメータは、従来の方法で使用されます。
@RequestParam
ストリングrequest.getParameter A =( "A")。
@PathVariable:パス変数。として

RequestMapping(“user/get/mac/{macAddress}”)
public String getByMacAddress(@PathVariable String macAddress){
//do something;
}

パラメータ名とちょうど同じである必要はありブレース。

第五に、グローバル例外ハンドラ

@ControllerAdvice:@Componentが含まれています。これは、スキャンすることができます。統一されたハンドルの例外。
@ExceptionHandler(Exception.class):この例外は、以下の方法は、上記方法において使用されている実行することである遭遇表します。

最後に、
私たちは、ヨーヨーは、物品、支援への感謝を覚えている賞賛のポイントのように、交換を歓迎します!

おすすめ

転載: blog.51cto.com/14442094/2428976