Spring Boot注解整理(小結)
一、注釈リスト
@Spring Bootation:@ComponentScan、@Configrationと@EnbaleAutoContfigrationの注釈が含まれています。このうち@ComponentScanはspring BootをConfigrationクラスにスキャンしてプログラムの文脈に入れます。
@Configration スプリングに相当するXMLプロファイル。Javaコードを使ってタイプの安全を確認できます。
@Enbale AutoConfigration 自動設定
@ComponentScan コンポーネントスキャンは、いくつかのビームを自動的に発見し、組み立てることができます。
@ComponentはCommandLine Runnerに合わせて使用できます。プログラム起動後に基礎的なタスクを実行します。
@RertController注解は@Controllerと@ResponseBodyの集合であり、これはコントローラbeanであり、関数の戻り値を直接HTTP応答体に記入するRESTスタイルのコントローラである。
@Autowired自動導入。
@PathVarableはパラメータを取得します。
@Json BackReferenceはネスト外部チェーン問題を解決します。
@RepositoryRetsourceptublicはspring-book-starter-data-restと配合して使用します。
二、注釈(annotations)詳細
@Spring Bootation:spring bootを自動的にプログラムに必要な配置をさせるということを明らかにしました。この配置は@Configration、@EnbaleAutoConfigrationと@ComponentScanの3つの構成に相当します。
@Enbale AutoConfigration:Spring Boot自動配置(aut-configration):あなたが追加したjarに依存して自動的にSpringアプリケーションを設定してみます。例えば、あなたのクラスパスの下にHSQLDBが存在していて、任意のデータベースを手動で配置していない場合は、メモリ型データベースを自動的に設定します。@EnbaleAutoConfigrationまたは@Spring BootApprationの注釈を@Configrationクラスに追加して、自動配置を選択してください。あなたが望んでいない特定の自動構成クラスを適用していると発見したら、@EnbaleAutoConfigration注释の除外属性を使ってそれらを無効にしてもいいです。
@ComponentScan:このクラスを自動的にスキャンコンポーネントを発見するという意味です。個人的な理解は、@Component、@Controller、@Serviceなどの注釈があるクラスにスキャンすれば、Beanとして登録され、@Configration類を含むすべてのSpringコンポーネントを自動的に収集することができます。私たちはよく@ComponentScanを使ってbeansを検索して、@Autowired注釈を組み合わせて導入します。Springコンポーネントは自動的にすべて収集できます。@Configration類を含みます。私たちはよく@ComponentScanを使ってbeansを検索して、@Autowired注釈を組み合わせて導入します。もし配置されていないなら、Spring Bootは起動系のカバンの下やサブバッグの下に@Service、@Repositoryなどの注解を使ったクラスをスキャンします。
@Configration:伝統的なxmlプロファイルに相当し、もしいくつかの第三者ライブラリがxmlファイルを使用する必要がある場合、@Configrationクラスを通じてプロジェクトの構成主クラスとして使用することを推奨します。@ImportResource注でxmlプロファイルをロードすることができます。
@Import:他の構成クラスを導入するために使用します。
@ImportResource:xmlプロファイルの読み込みに使用します。
@Autowired:自動導入依存のbean
@Service:service層を飾るためのコンポーネントが一般的です。
@Repository:@Repository注解を使ってDAOまたはrepositoriesに異常転訳を提供することができます。この注釈で修飾されたDAOまたはrepositories類はComponetScanに発見され配置されます。同時にXML配置項目を提供する必要もありません。
@Bean:XMLに配置されているbeanに対して@Beanで表示する。
@Value:Spring boot aplication.properties配置の属性の値を注入します。サンプルコード:
@Component:コンポーネントを指します。規格に合わない場合、この注釈を使って表示してもいいです。
@Bean:XMLに相当するものは、種類ではなく方法の上に置いて、beanを発生させ、springに管理させるという意味です。
@AutoWired:依存のbeanを自動的に導入する。byType方式です。配置されたビーンを使って、属性、方法の組み立てを完成します。クラスメンバー変数、方法及び構造関数を表示して、自動組立の仕事を完成します。加えて(required=false)場合は、beanが見つからなくても、エラーが発生しません。
@Qualfier:同じタイプのビームが複数ある場合、@Qualfierで指定できます。@Autowiredと配合して使用します。@Qualfier限定記述子は名前に基づいて注入することができますが、より細かい粒度の制御ができます。候補者を選択する方法は以下の通りです。
三、JPAコメント
@Entity:@Table(name="):これは実体類であることを示します。一般的にはjpaという二つの注釈は一つのブロックで使用されますが、表名と実体類名が同じなら、@Tableは省略できます。
@MappedSuperClass:親であることが確定されたentityに使用します。親クラスの属性サブクラスは継承できます。
@NoRepositoryBern:一般的には父類のrepositoryとして使われていますが、この注釈があります。springはこのrepositoryを具体化しません。
@Column:フィールド名が列名と同じであれば、省略できます。
@Id:この属性がメインキーであることを示します。
@Generate edValue(strate=Generation Type.SEQUICE、generator=「repair_」seq"):メインキーの生成ポリシーを示すsequence(Auto、IDENTITY、nativeなど、Autoは複数のデータベース間で切り替えることができるという意味)であり、sequenceを指定する名前はrepair_である。seq
@SequenceGeneetor(name=「repair_」seq」、sequenceName=「seq_」repair"は、allocationSize=1):nameはsequenceの名前で、使用するために、sequenceNameはデータベースのsequenceの名前で、二つの名前が一致します。
@Transient:この属性はデータベーステーブルのフィールドへのマッピングではないことを示し、ORMフレームはこの属性を無視します。プロパティがデータベーステーブルのフィールドマップではない場合は、必ず@Transientとして表示されます。そうでなければ、ORMフレームは@Baicとデフォルトで解釈されます。Baic(fetch=Fettype.LAZY):マーキングはエンティティ属性を指定できるローディング方式です。
@JsonIgnore:作用はjsonプロローグ時にJava beanの一部の属性を無視して、プロローグと反プロローグが影響されます。
@JoinColumn(name="logiinId"):一対一:本表では他の表の外鍵を指します。一つのペアが多いです。もう一つの表はこの表の外ボタンを指します。
@OneToOne、@OneToMany、@ManyToOne:hibernaneプロファイルのペアに対応しています。ペアが多く、マンツーマンです。
四、スプリングMVCに関する注釈
@Request Mapping:@Request Mapping(\/path)は、コントローラがすべての「/path」を処理するUR L要求を表します。Request Mappingは要求アドレスマッピングを処理するための注釈であり、クラスまたは方法に利用できる。
クラスにおいて、クラス内のすべての応答要求を表す方法は、そのアドレスを親経路とする。この注釈には6つの属性があります。
パラms:指定されたrequestにはいくつかのパラメータ値が含まれている必要があります。
headers:指定されたrequestには特定の指定されたheader値が含まれていなければ、この方法が要求を処理することができない。
value:要求の実際の住所を指定して、指定された住所はURI Templateモードとすることができます。
method:要求のmethodタイプを指定して、GET、POST、PUT、DELETEなど。
consumes:application/jsonなどの処理要求の提出内容タイプを指定します。
produces:戻るコンテンツタイプを指定して、この指定されたタイプがrequest要求ヘッダの中に含まれている場合にのみ戻ります。
@Request Param:メソッドのパラメータの前に使用します。
@Request Param
String a=request.get Parameeter(「a」)。
@PathVarable:パス変数。如き
五、グローバル異常処理
@Controller Advice:@Componentを含みます。スキャンできます。異常を一括処理する。
@Exception Handler(Exception.class):この異常に遭遇したことを方法の上で表して、次の方法を実行します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
@Spring Bootation:@ComponentScan、@Configrationと@EnbaleAutoContfigrationの注釈が含まれています。このうち@ComponentScanはspring BootをConfigrationクラスにスキャンしてプログラムの文脈に入れます。
@Configration スプリングに相当するXMLプロファイル。Javaコードを使ってタイプの安全を確認できます。
@Enbale AutoConfigration 自動設定
@ComponentScan コンポーネントスキャンは、いくつかのビームを自動的に発見し、組み立てることができます。
@ComponentはCommandLine Runnerに合わせて使用できます。プログラム起動後に基礎的なタスクを実行します。
@RertController注解は@Controllerと@ResponseBodyの集合であり、これはコントローラbeanであり、関数の戻り値を直接HTTP応答体に記入するRESTスタイルのコントローラである。
@Autowired自動導入。
@PathVarableはパラメータを取得します。
@Json BackReferenceはネスト外部チェーン問題を解決します。
@RepositoryRetsourceptublicはspring-book-starter-data-restと配合して使用します。
二、注釈(annotations)詳細
@Spring Bootation:spring bootを自動的にプログラムに必要な配置をさせるということを明らかにしました。この配置は@Configration、@EnbaleAutoConfigrationと@ComponentScanの3つの構成に相当します。
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);
}
}
@ResonseBody:この方法の戻り結果を表して直接HTTP reponse bodyに書き込みます。非同期でデータを取得する場合には、RESTfulを構築するためのアプリが一般的です。@Request Mappingを使用した後、戻り値は通常ジャンプ経路として解析され、@reponsebodyを加えて返した結果はジャンプ経路として解析されず、HTTP reponse bodyに直接書き込む。例えば、jsonデータを非同期的に取得し、@reponsebodyを加えると、直接にjsonデータに戻ります。この注釈は@Request Mappingと一緒に使うのが普通です。サンプルコード:
@RequestMapping(“/test”)
@ResponseBody
public String test(){
return”ok”;
}
@Controller:コントローラクラスを定義するために、springプロジェクトでは、ユーザからのURL要求を対応するサービスインターフェースに転送するためにコントローラが担当しています。一般的にこの注釈はクラスにあります。通常の方法は注釈@Request Mappingに協力する必要があります。サンプルコード:
@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";
}
}
@RertController:strutsのactionなどの制御層コンポーネントを表示するために、@ResponseBodyと@Controllerの集合。サンプルコード:
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";
}
}
@Request Mapping:ルート情報を提供し、URLからControllerの具体的な関数へのマッピングを担当する。@Enbale AutoConfigration:Spring Boot自動配置(aut-configration):あなたが追加したjarに依存して自動的にSpringアプリケーションを設定してみます。例えば、あなたのクラスパスの下にHSQLDBが存在していて、任意のデータベースを手動で配置していない場合は、メモリ型データベースを自動的に設定します。@EnbaleAutoConfigrationまたは@Spring BootApprationの注釈を@Configrationクラスに追加して、自動配置を選択してください。あなたが望んでいない特定の自動構成クラスを適用していると発見したら、@EnbaleAutoConfigration注释の除外属性を使ってそれらを無効にしてもいいです。
@ComponentScan:このクラスを自動的にスキャンコンポーネントを発見するという意味です。個人的な理解は、@Component、@Controller、@Serviceなどの注釈があるクラスにスキャンすれば、Beanとして登録され、@Configration類を含むすべてのSpringコンポーネントを自動的に収集することができます。私たちはよく@ComponentScanを使ってbeansを検索して、@Autowired注釈を組み合わせて導入します。Springコンポーネントは自動的にすべて収集できます。@Configration類を含みます。私たちはよく@ComponentScanを使ってbeansを検索して、@Autowired注釈を組み合わせて導入します。もし配置されていないなら、Spring Bootは起動系のカバンの下やサブバッグの下に@Service、@Repositoryなどの注解を使ったクラスをスキャンします。
@Configration:伝統的なxmlプロファイルに相当し、もしいくつかの第三者ライブラリがxmlファイルを使用する必要がある場合、@Configrationクラスを通じてプロジェクトの構成主クラスとして使用することを推奨します。@ImportResource注でxmlプロファイルをロードすることができます。
@Import:他の構成クラスを導入するために使用します。
@ImportResource:xmlプロファイルの読み込みに使用します。
@Autowired:自動導入依存のbean
@Service:service層を飾るためのコンポーネントが一般的です。
@Repository:@Repository注解を使ってDAOまたはrepositoriesに異常転訳を提供することができます。この注釈で修飾されたDAOまたはrepositories類はComponetScanに発見され配置されます。同時にXML配置項目を提供する必要もありません。
@Bean:XMLに配置されているbeanに対して@Beanで表示する。
@Value:Spring boot aplication.properties配置の属性の値を注入します。サンプルコード:
@Value(value = “#{message}”)
private String message;
@Inject:デフォルトの@Autowiredに相当します。required属性がないだけです。@Component:コンポーネントを指します。規格に合わない場合、この注釈を使って表示してもいいです。
@Bean:XMLに相当するものは、種類ではなく方法の上に置いて、beanを発生させ、springに管理させるという意味です。
@AutoWired:依存のbeanを自動的に導入する。byType方式です。配置されたビーンを使って、属性、方法の組み立てを完成します。クラスメンバー変数、方法及び構造関数を表示して、自動組立の仕事を完成します。加えて(required=false)場合は、beanが見つからなくても、エラーが発生しません。
@Qualfier:同じタイプのビームが複数ある場合、@Qualfierで指定できます。@Autowiredと配合して使用します。@Qualfier限定記述子は名前に基づいて注入することができますが、より細かい粒度の制御ができます。候補者を選択する方法は以下の通りです。
@Autowired
@Qualifier(value = “demoInfoService”)
private DemoInfoService demoInfoService;
@Resource(name="name",type="type"):括弧内の内容がない場合は、デフォルトbyNameです。@Autowiredと似たようなことをする。三、JPAコメント
@Entity:@Table(name="):これは実体類であることを示します。一般的にはjpaという二つの注釈は一つのブロックで使用されますが、表名と実体類名が同じなら、@Tableは省略できます。
@MappedSuperClass:親であることが確定されたentityに使用します。親クラスの属性サブクラスは継承できます。
@NoRepositoryBern:一般的には父類のrepositoryとして使われていますが、この注釈があります。springはこのrepositoryを具体化しません。
@Column:フィールド名が列名と同じであれば、省略できます。
@Id:この属性がメインキーであることを示します。
@Generate edValue(strate=Generation Type.SEQUICE、generator=「repair_」seq"):メインキーの生成ポリシーを示すsequence(Auto、IDENTITY、nativeなど、Autoは複数のデータベース間で切り替えることができるという意味)であり、sequenceを指定する名前はrepair_である。seq
@SequenceGeneetor(name=「repair_」seq」、sequenceName=「seq_」repair"は、allocationSize=1):nameはsequenceの名前で、使用するために、sequenceNameはデータベースのsequenceの名前で、二つの名前が一致します。
@Transient:この属性はデータベーステーブルのフィールドへのマッピングではないことを示し、ORMフレームはこの属性を無視します。プロパティがデータベーステーブルのフィールドマップではない場合は、必ず@Transientとして表示されます。そうでなければ、ORMフレームは@Baicとデフォルトで解釈されます。Baic(fetch=Fettype.LAZY):マーキングはエンティティ属性を指定できるローディング方式です。
@JsonIgnore:作用はjsonプロローグ時にJava beanの一部の属性を無視して、プロローグと反プロローグが影響されます。
@JoinColumn(name="logiinId"):一対一:本表では他の表の外鍵を指します。一つのペアが多いです。もう一つの表はこの表の外ボタンを指します。
@OneToOne、@OneToMany、@ManyToOne:hibernaneプロファイルのペアに対応しています。ペアが多く、マンツーマンです。
四、スプリングMVCに関する注釈
@Request Mapping:@Request Mapping(\/path)は、コントローラがすべての「/path」を処理するUR L要求を表します。Request Mappingは要求アドレスマッピングを処理するための注釈であり、クラスまたは方法に利用できる。
クラスにおいて、クラス内のすべての応答要求を表す方法は、そのアドレスを親経路とする。この注釈には6つの属性があります。
パラms:指定されたrequestにはいくつかのパラメータ値が含まれている必要があります。
headers:指定されたrequestには特定の指定されたheader値が含まれていなければ、この方法が要求を処理することができない。
value:要求の実際の住所を指定して、指定された住所はURI Templateモードとすることができます。
method:要求のmethodタイプを指定して、GET、POST、PUT、DELETEなど。
consumes:application/jsonなどの処理要求の提出内容タイプを指定します。
produces:戻るコンテンツタイプを指定して、この指定されたタイプがrequest要求ヘッダの中に含まれている場合にのみ戻ります。
@Request Param:メソッドのパラメータの前に使用します。
@Request Param
String a=request.get Parameeter(「a」)。
@PathVarable:パス変数。如き
RequestMapping(“user/get/mac/{macAddress}”)
public String getByMacAddress(@PathVariable String macAddress){
//do something;
}
引数は大かっこの名前と同じにします。五、グローバル異常処理
@Controller Advice:@Componentを含みます。スキャンできます。異常を一括処理する。
@Exception Handler(Exception.class):この異常に遭遇したことを方法の上で表して、次の方法を実行します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。