ホームページ >Java >&#&チュートリアル >Java Spring での読み取りおよび書き込み操作の分析例

Java Spring での読み取りおよび書き込み操作の分析例

PHPz
PHPz転載
2023-05-07 13:31:16693ブラウズ
    #Bean オブジェクトの保存

    #以前に Bean オブジェクトを保存したときは、構成ファイルに Bean の行を追加してそれらを注入する必要がありました

    Java Spring での読み取りおよび書き込み操作の分析例この注入方法は適切ではありません。設定ファイルにエラーがある場合、プログラムはエラー メッセージを表示しません。これは初心者にとって非常に不親切です。

    1. プロジェクトの作成

    スタートアップ クラスとメイン メソッドの作成

    Java Spring での読み取りおよび書き込み操作の分析例

    依存関係の導入

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>
    Java Spring での読み取りおよび書き込み操作の分析例

    構成ファイルの作成

    作成する Bean オブジェクトをcom.bean パッケージ:

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>
    Java Spring での読み取りおよび書き込み操作の分析例2. アノテーションを追加してコンテナに Bean を格納する

    Spring の使用の核心は、アノテーションを使用することです。学習したアノテーションは 5 つです

    @Controller [コントローラー] @Service [サービス] @Repository [ウェアハウス] @Configuration [構成/レイアウト] @Component [コンポーネント] 2.1コントローラー

    Java Spring での読み取りおよび書き込み操作の分析例

    #以前は id パラメーターを渡すことでオブジェクトを取得できましたが、手動で ID を追加するために Bean の行を追加していましたが、今ではアノテーションを使用する場合、クラス型のみを使用できますか? Java Spring での読み取りおよび書き込み操作の分析例

    アノテーションを使用して Bean オブジェクトを挿入する場合、ID は実際にはデフォルトでクラス名のキャメルケース形式になります:

    理由については最初は説明しません。 については後述します。 Java Spring での読み取りおよび書き込み操作の分析例

    簡単な間違い

    :

    以前に設定ファイルに Bean オブジェクト検索用のルート ディレクトリを追加しました。つまり、検索はこのディレクトリから下方向に開始されますが、上方向には開始されません :
    下位ディレクトリ

    Java Spring での読み取りおよび書き込み操作の分析例

    ##上位ディレクトリJava Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例#2.2 サービス

    Java Spring での読み取りおよび書き込み操作の分析例

    #2.3 リポジトリJava Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    2.4 構成

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    ##2.5 コンポーネント

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    2.6 社内の注釈には 5 つの主要なカテゴリがある理由

    Java Spring での読み取りおよび書き込み操作の分析例

    社内には全員が責任を負っています領域が異なるため、使用されるクラス アノテーションも異なりますが、アノテーションの 5 つの主要カテゴリの本質は同じです。 Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    2 つのクラス アノテーションを通して、他の 4 つのアノテーションが Component アノテーションを導入するメソッドであることが明確にわかります。コンポーネントは、他の 4 つのクラス アノテーションの親です。では、コンポーネントは何をするのでしょうか?ただ、アノテーションを付けるときに他の 4 つのクラスに投げ込むのは簡単ではありません~

    2.7 ID がデフォルトで小さなラクダ番号になるのはなぜですかJava Spring での読み取りおよび書き込み操作の分析例

    グローバル検索を使用します:

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    #AnnotationBeanNameGenerator を検索:

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    ##テスト:

    Java Spring での読み取りおよび書き込み操作の分析例

    2.8 Bean アノテーションの使用
    Bean アノテーションはメソッド アノテーションであり、メソッドで使用される場合、返されたオブジェクトも Spring によって挿入されますが、5 つの主要カテゴリのアノテーションとともに使用する必要があります (どれでも使用できます)

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    id ​​はメソッド名です。

    2.8.1 Bean の名前変更

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例##2.8.2 複数の名前変更

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    Note

    : name 属性を使用して名前を変更すると、元のメソッド名はその効果を失います。つまり、変更されたメソッドのみが使用できることになります。名前は次のとおりです。 IDとして使用されます。 Bean オブジェクトの取得

    Bean オブジェクトの取得はオブジェクト インジェクションとも呼ばれ、3 つのメソッドがあります:

      Propertyインジェクション
    • #コンストラクター インジェクション
    • #セッター インジェクション

    • #1. プロパティ インジェクション

      1.1 Autowired

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例今は問題ないようですが、オブジェクトを作成すると、同じタイプのオブジェクトが複数回挿入されている場合:

    Java Spring での読み取りおよび書き込み操作の分析例

    現時点では、選択したオブジェクトを正確に見つける必要があります。 Java Spring での読み取りおよび書き込み操作の分析例タイプ名

    :

    Java Spring での読み取りおよび書き込み操作の分析例

    ##1.2リソース

    Java Spring での読み取りおよび書き込み操作の分析例1.3 2つの違い

    Resource には、注入された Bean の名前を指定できる name 属性があります。

    Java Spring での読み取りおよび書き込み操作の分析例

    #しかし、Autowired には、一致するアノテーション @Qualifier もあり、これを使用して、選択された Bean オブジェクトなので、2 つです。まあ、これは同点だと思います。

    Java Spring での読み取りおよび書き込み操作の分析例

    ps

    : Autowired アノテーションは、最初に、すべてのタイプのオブジェクトのタイプをクエリします。ただし、Autowired は一度に 1 つのオブジェクトしか挿入できないため、同じタイプのオブジェクトが複数回挿入されるとエラーが報告されます。 Qualifier アノテーションは基本的に、クエリの結果をフィルタリングします。

    2. コンストラクター インジェクション Java Spring での読み取りおよび書き込み操作の分析例

    または Autowired アノテーションを使用します:

    ##ps

    : コンストラクターが 1 つだけの場合、Autowired は省略できます。Java Spring での読み取りおよび書き込み操作の分析例

    ただし、コンストラクターが 3 つ以上ある場合は省略できません。

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    #Setter インジェクション

    または Autowired 経由

    Java Spring での読み取りおよび書き込み操作の分析例

    Java Spring での読み取りおよび書き込み操作の分析例

    # リソース は Setter インジェクションもサポートしています。

    典型的な面接の質問

    プロパティ インジェクション、コンストラクター インジェクション、セッター インジェクションの違いは何ですか?

    Java Spring での読み取りおよび書き込み操作の分析例

    以上がJava Spring での読み取りおよび書き込み操作の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。