Springboot共通コメント
3421 ワード
1:@Qualifier
@QualifierコメントはBeanに注入する名前を指定し、曖昧さを解消します.したがって@Autowiredと@Qualifierを組み合わせて使用すると、自動注入のポリシーがbyTypeからbyNameに変わります.例は次のとおりです.
インタフェースがあります.
2つの実装クラスがあります.
Controllerレイヤはサービスレイヤを呼び出します.
2:@RestController
注記はクラスにあり、これは制御層beanであることを示します.制御層クラスの前面によく用いられるのは,@
@ResponseBody:この注記で修飾された関数は、結果をHTTPの応答体に直接埋め込み、RESTfulのapiを構築し、javaオブジェクトをjson形式のデータに変換するのに一般的に使用されます.
@Controller:コントローラクラスを定義し、springプロジェクトでコントローラがユーザーからのURL要求を対応するサービスインタフェース(serviceレイヤ)に転送する役割を果たします.
3: @RequestMapping
Controller内の特定の関数へのURLのマッピングを担当するルーティング情報を提供します.
4: @SpringBootApplication
この注記は、@
@
@
@
5:@Import
他の構成クラスをインポートするために使用します.
6:@Autowired
依存beanを自動的にインポートします.
7:@Service
注釈はクラスにあり、これはビジネス層beanであることを示します.
8:@Repository
注記はクラスにあり、これはデータ・アクセス・レイヤbeanであることを示します.@
9:@Query
カスタムSQLクエリー文
10:@Entity
エンティティ・クラスの前に使用します.これはエンティティ・クラスであることを示します.
11:@Table(name=“”)
エンティティ・クラスの前に使用され、データベース内のテーブルをマッピングする@Entityとともに一般的に使用されます.
12:@Column
エンティティ・クラスの属性がテーブル内のフィールドにマッピングされていることを示します.name:データベース・テーブルのフィールド名;Unique:一意かどうか;nullable:空にできるかどうか;Length:長さ.
13:@Id
このコメントは、エンティティ・クラスで使用され、データベースにマッピングされたフィールドがプライマリ・キーであることを示すプロパティの前に書かれています.
14:@GeneratedValue
プライマリ・キーの生成ポリシーを表し、@Idとともに使用
15:@Transient
このプロパティがデータベース・テーブルへのフィールドのマッピングではないことを示します.ORMフレームワークでは、このプロパティは無視されます.属性がデータベース・テーブルのフィールド・マッピングでない場合は、必ず@Transientと表示します.
@QualifierコメントはBeanに注入する名前を指定し、曖昧さを解消します.したがって@Autowiredと@Qualifierを組み合わせて使用すると、自動注入のポリシーがbyTypeからbyNameに変わります.例は次のとおりです.
インタフェースがあります.
public interface EmployeeService {
public String getEmployeeById(Long id);
}
2つの実装クラスがあります.
@Service("service")
public class EmployeeServiceImpl implements EmployeeService{
@Override
public String getEmployeeById(Long id) {
return "0";
}
}
@Service("service1")
public class EmployeeServiceImpl1 implements EmployeeService{
@Override
public String getEmployeeById(Long id) {
return "1";
}
}
Controllerレイヤはサービスレイヤを呼び出します.
@RestController
public class EmployeeInfoControl {
@Autowired
@Qualifier("service") // @service ,
private EmployeeService employeeService;
@RequestMapping("/emplayee.do")
public void showEmplayeeInfo(){
String employeeById = employeeService.getEmployeeById(1l);
System.out.println("employeeById "+employeeById);
}
}
// @Autowired
// private EmployeeService employeeService;
// service , , 。
// @Autowired @Qualifier ,
//
2:@RestController
注記はクラスにあり、これは制御層beanであることを示します.制御層クラスの前面によく用いられるのは,@
ResponseBody
と@Controller
の集合である.@ResponseBody:この注記で修飾された関数は、結果をHTTPの応答体に直接埋め込み、RESTfulのapiを構築し、javaオブジェクトをjson形式のデータに変換するのに一般的に使用されます.
@Controller:コントローラクラスを定義し、springプロジェクトでコントローラがユーザーからのURL要求を対応するサービスインタフェース(serviceレイヤ)に転送する役割を果たします.
3: @RequestMapping
Controller内の特定の関数へのURLのマッピングを担当するルーティング情報を提供します.
4: @SpringBootApplication
この注記は、@
EnableAutoConfiguration
、@ComponentScan
、および@Configuration
の集合に相当する実行クラスに使用される. @
EnableAutoConfiguration:
Spring Boot自動構成(auto-configuration).@
ComponentScan:
は、クラスを自動的に検出(スキャン)してBeanとして登録することを示し、@Configuration
クラスを含むすべてのSpringコンポーネントを自動的に収集することができる.@ComponentScan
注釈を用いてbeansを探索し,@Autowired
注釈と組み合わせて導入することが多い.@
Configuration:
は従来のxmlプロファイルに相当し、サードパーティ製ライブラリでxmlファイルを使用する必要がある場合は、プロジェクトの構成主クラスとして@Configurationクラスを使用することを推奨します.@ImportResource
を使用してxmlプロファイルを注釈してロードできます.5:@Import
他の構成クラスをインポートするために使用します.
6:@Autowired
依存beanを自動的にインポートします.
7:@Service
注釈はクラスにあり、これはビジネス層beanであることを示します.
8:@Repository
注記はクラスにあり、これはデータ・アクセス・レイヤbeanであることを示します.@
Repository
注釈を使用すると、DAOクラスまたはrepositoriesクラスがComponetScanによって修飾される異常な翻訳を提供することを保証できます. 9:@Query
カスタムSQLクエリー文
10:@Entity
エンティティ・クラスの前に使用します.これはエンティティ・クラスであることを示します.
11:@Table(name=“”)
エンティティ・クラスの前に使用され、データベース内のテーブルをマッピングする@Entityとともに一般的に使用されます.
12:@Column
エンティティ・クラスの属性がテーブル内のフィールドにマッピングされていることを示します.name:データベース・テーブルのフィールド名;Unique:一意かどうか;nullable:空にできるかどうか;Length:長さ.
13:@Id
このコメントは、エンティティ・クラスで使用され、データベースにマッピングされたフィールドがプライマリ・キーであることを示すプロパティの前に書かれています.
14:@GeneratedValue
プライマリ・キーの生成ポリシーを表し、@Idとともに使用
15:@Transient
このプロパティがデータベース・テーブルへのフィールドのマッピングではないことを示します.ORMフレームワークでは、このプロパティは無視されます.属性がデータベース・テーブルのフィールド・マッピングでない場合は、必ず@Transientと表示します.