Springboot共通コメント

3421 ワード

1:@Qualifier
@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と表示します.