学習 - 共通アノテーション

共通アノテーション

@SpringBootApplication
@SpringBootApplicationは、と@ SpringBootConfiguration、@ EnableAutoConfiguration @ComponentScanを含む複雑な注釈であり、

  • @Configurationから継承@SpringBootConfigurationは、一貫性の両方の機能は、現在のクラスによって示されるクラス構成であり、現在は、容器内に例えば一つ以上の注釈マーカー@Bean方法srping、およびインスタンス名のクラス宣言内であろうメソッドの名前です。
  • @EnableAutoConfigurationの役割が自動的に設定を開始します。
  • Springbootは、春・ブート・スターター・ウェブに基づいて、たとえば、あなたはjarファイルを追加したパッケージに応じて、プロジェクトのデフォルト設定を設定するには、自動的にあなたを助ける、あなたがプロジェクトwebmvcとTomcatを追加する必要があるかどうかを判断すること@EnableAutoConfiguration注釈手段デフォルトの設定に必要なWebプロジェクトを構成します。
  • @ComponentScan、現在のサブパケットをスキャンし、パケットは、リポジトリクラス@および管理のためのスプリングレセプタクルに、サービス@、@コントローラ、コンポーネント@注釈付きマークされます。

@EnableJpaRepositories
@EnableJpaRepositories Srping JPA注釈の形で置換されたXML構成ファイルのコード設定用

@EnableAspectJAutoProxyは
へaopContextアクセス、被写体がプロキシAOPフレームを介して露出されていることを示し@EnableAspectJAutoProxy(exposeProxy = true)を設け、@EnableAspectJAutoProxy CGLIBで表される場合、プロキシオブジェクトを使用して生成され、旋回AOPプロキシ自動構成を示しています

@EnableScheduling&@Scheduled
定期的なタスクは、適切な方法で実行されるスケジュールされたタスク@Scheduledステートメントを追加し、コンフィギュレーションクラスの定期的なタスクのためのオープンなサポートを@EnableScheduling追加します。
次のパラメータを持ってスケジュール注釈:

  • cronの;
  • ゾーン;
  • FIXEDDELAYとfixedDelayString。
  • fixedRateとfixedRateString。
  • initialDelayの和initialDelayString
  1. cronが実行のタイミングを設定するための式のような0 0/5 * * *?実行5分に1回です
  2. ゾーンは、タイムゾーンの実行時間を表し、
  3. タスクが完了した後FIXEDDELAYとfixedDelayStringはどのくらい遅れの実装、実行するための固定遅延時間を表し、
  4. タスクが開始した後fixedRateとfixedRateStringは、固定周波数の実行を表し、あなたはどのくらいの期間を開始した後、
  5. initialDelayのとinitialDelayStringが初期遅延時間を示し、第一時間前の遅延が呼び出され

@ConditionalOnProperty
構成を制御効果です。具体的な動作は、その名前によって達成二havingValue属性、値がnullの場合、属性名は、application.propertiesから値を読み取るために使用される、請求、偽が戻される。値がnullでない場合、次いでhavingValue値は、それがtrueを返すかのように、指定された値と比較し、それ以外の場合はfalse。戻り値がfalseの場合、設定は有効になりませんが、真を有効にします。

@PathVariable
@PathVariableバインドURIテンプレート変数値
@PathVariable要求は、URLの動的パラメータを得るために使用される
処理方法の機能にマッピングされるURL要求の@PathVariableテンプレート変数パラメータ

@Repository
注釈データアクセスコンポーネント、すなわち、DAOコンポーネントの。

@Service
ビジネス層成分を標識します。

@RestController
@Controller @ResponseBody(例えば、アクションストラット)成分制御層を標識し、そしてするための

@Controller
@RestController @Controller代わりにページに戻ると、必要に応じて、制御層成分を標識します

@Componentは、
コンポーネントが悪いと分類されているとき、我々はマークに、このアノテーションを使用することができます成分を意味します。

@ResponseBodyは
リターンを直接HTTPレスポンスボディの書き込み処理の結果を表します。
一般的に、非同期データに使用される使用後@RequestMapping、取得され、戻り値は、典型的には、結果は@responsebodyジャンプパスとして解釈されないが、直接HTTPレスポンスボディに書き込ま返さと、ジャンプパスとして解決されます。
このような非同期GET JSONデータは、@responsebodyを追加した後、直接JSONデータを返しますように

@RequestBody
のパラメータが必要なことをコメントを追加した後、前にパラメータを設定します。リストや他のオブジェクトへの受け入れJSON文字列。

@ComponentScan
コンポーネントスキャン。個人的な理解は、スキャンがこれらの注釈付きクラス@Componentを持っている場合は、コントローラー、@サービス@というように、Beanとして登録され、これらのクラスを置くことと等価です

@Configuration
注目Beanクラスは、典型的には、メインクラスに追加XMLに対応し、情報源が構成されています。

@Bean
方法で上記XML、はなく、クラスに対応する、豆、ばねの生成手段および管理します

@EnableAutoConfigurationが
自動的に記載アプリケーション依存に従ってブートスプリングSpringフレームワークを設定することができ、一般的にメインクラスに追加されます

@Autowired
byTypeの方法。Beanが使用するように構成された、特性、組み立て方法を完了し、それがクラスフィールド、メソッドやコンストラクタ、自動組立の完了を標識することができます。(必須=偽)と組み合わせると、豆を見つけることができない場合でもエラーではありません

@Qualifier
豆の同じタイプが複数ある場合、@Qualifier(「名前」)を指定することができます。@Autowiredと組み合わせて使用します

@Resource(名前=「名前」、
タイプ=「タイプ」)は、デフォルトBYNAME、括弧内にありません。@Autowiredと同様のことをやって

@RequestMapping
@RequestMappingアノテーションが要求アドレスのマッピングを処理するために使用され、それはクラスまたはメソッドのために使用することができます。クラスに対して、要求クラスに応じて、すべてのメソッドは、親パスとしてアドレスで表されています。
このノートでは、6つの属性があります。

  • params:指定要求が処理方法を許可する前に、特定のパラメータ値が含まれている必要があります。
  • ヘッダー:指定要求は、要求を処理するためにこのメソッドために、特定の指定されたヘッダ値を含まなければなりません。
  • 値:指定要求の物理アドレスは、アドレスモードURIテンプレートを指定することができます
  • 方法:この方法は、要求のタイプを指定し、GET、POST、PUT、DELETEなど
  • 消費:text / htmlで、このようなアプリケーション/ JSONとして、コンテンツタイプ(Content-Typeの)のプロセスを指定した要求を提出します。
  • 生産:のコンテンツタイプが返された場合にのみヘッド(受け入れる)要求はタイプがに戻ります要求タイプを指定含み

@ GetMapping、@ PostMappingおよびその他
同等の@RequestMapping(値= "/"、方法= RequestMethod.Get \掲載\入れ\削除、など)。これは、組み合わせのコメントです

@RequestParamは、
メソッドパラメータの前で使用されます。等価request.getParameter()。

@PathVariable:
パス変数。として

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

パラメータと同じ名前のカッコは、カッコ内容のノートが埋めることができません


JPA関連

@Entity:
@Table(名=「」)

これは、エンティティ・クラスであることを示しています。JPAは、一般的に使用される。
これら2つの音符は、一般に、1つ使用されるが、もしテーブル名とエンティティの名前、同じクラス、テーブルを省略することができます@

@MappedSuperclassは、
親エンティティかどうかを決定する際に使用しました。親クラスのプロパティのサブクラスが継承することができます。

@NoRepositoryBean
一般リポジトリをインスタンス化しない親クラスのリポジトリ、このアノテーションは、バネとして使用

@Columnの
フィールド名とカラム名と同じ、省略することができます

@Idは、
主キー属性ことを示しています

@GeneratedValue(戦略= GenerationType.SEQUENCE、ジェネレータ=
「repair_seq」)は、主キー生成方法を示し、特定の配列の名前がrepair_seq配列(オート、IDENTITY、ネイティブ、等であってもよいし、複数のデータベース間でオートスイッチを表す)であります

@SequenceGeneretor(名=「repair_seq」、sequenceName =「seq_repair」は、allocationSize = 1)を
使用する配列の名前を名前、データベース配列の名前であるsequenceName、2つの名前が一致していてもよいです

@Transientは
ORMフレームワークがプロパティを無視します。、プロパティは、データベーステーブル内のフィールドにマップされていないことを示している
として、それ以外の場合は、@Transientとしてそれをマークしてください、プロパティは、フィールドマッピングデータベース・テーブルでない場合は、デフォルトのORMフレームワークを@基本的な

@Basic(= FetchType.LAZYフェッチ)
エンティティプロパティのロードを指定するタグ

@JsonIgnoreの
役割は、シリアライズとデシリアライズが影響を受けている、無視プロパティの一部では、JSONのシリアル化するJava Beanです

@JoinColumn(名前=「ログインID」)
1:別のテーブルの外部キーにこのテーブル。
多く:このテーブル内の別のテーブルへの外部キー。

@OneToOne
@OneToMany
@ManyToOneの

対応Hibernate設定ファイル、1個、多くの1つ1つ、いずれかの多くの


グローバル例外ハンドラは、関連します

@ControllerAdviceは
@Componentが含まれています。これは、スキャンすることができます。ユニファイドハンドルの例外

@ExceptionHandler(Exception.class)は
、この異常上記方法において使用される以下の方法の実装に遭遇発現しました

springcloud関連

@EnableEurekaServer
springboot起動クラスで使用される、それはユーレカサービスレジストリと言いました

@EnableDiscoveryClient
これは、レジストリを見つけることができるサービスであることをspringboot起動クラスで使用されます、

@LoadBalanced
オープンロード・バランシング

@EnableCircuitBreaker
起動クラスで使用される、回路ブレーカ機能を開きます

@HystrixCommand(fallbackMethod =「backMethod」)
方法に使用されるが、コールバックメソッドを破壊指定fallbackMethod

@EnableConfigServer
起動クラスで使用される、彼はそれが物流センター、オープンConfigをサーバーであると言いました

@EnableZuulProxy
起動クラスで使用されるオープンzuulルーティング、

@SpringCloudApplication
@ SpringBootApplication、@ EnableDiscoveryClient、@ EnableCircuitBreaker 3冊のノートが含まれています

おすすめ

転載: www.cnblogs.com/zd-blogs/p/12015906.html