Spring の Bean 取得方法の詳細説明
Spring フレームワークにおいて、Bean の取得は非常に重要な部分です。アプリケーションでは、多くの場合、依存関係の注入を使用したり、Bean のインスタンスを動的に取得したりする必要があります。この記事では、Spring で Bean を取得する方法と具体的なコード例を詳しく紹介します。
- @Component アノテーションによる Bean の取得
@コンポーネント アノテーションは、Spring フレームワークで一般的に使用されるアノテーションの 1 つです。クラスに @Component アノテーションを追加することでそれを Bean として識別し、ApplicationContext を使用してコンテナから Bean のインスタンスを取得します。以下に例を示します。
@Component public class UserService { // ... } public class Main { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); UserService userService = context.getBean(UserService.class); // ... } }
- @Autowired アノテーションによる Bean の取得
@Autowired アノテーションは、Spring フレームワークでよく使用されるもう 1 つのアノテーションです。 @Autowired アノテーションをメンバー変数に追加すると、Spring は一致する Bean をこの変数に自動的に挿入します。以下は例です:
@Component public class UserService { @Autowired private UserRepository userRepository; // ... } public class Main { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); UserService userService = context.getBean(UserService.class); // ... } }
- @Qualifier アノテーションによる Bean の取得
@Autowired アノテーションを使用する場合、コンテナ内に複数の一致する Bean がある場合、Spring は判断できませんどの Bean を注入するか。この時点で、 @Qualifier アノテーションを使用して、注入する Bean の名前を指定できます。以下は例です:
@Component public class UserService { @Autowired @Qualifier("userRepositoryImpl") private UserRepository userRepository; // ... } public class Main { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); UserService userService = context.getBean(UserService.class); // ... } }
- @Bean アノテーションによる Bean の取得
アノテーションを使用して Bean を追加するだけでなく、@Configuration アノテーションと @Bean アノテーションも使用できます。 Beanを作成します。 @Configuration アノテーションが付けられたクラスは Spring コンテナによって構成クラスとして認識され、構成クラス内で @Bean アノテーションが使用されて Bean インスタンスが作成されます。以下に例を示します。
@Configuration public class AppConfig { @Bean public UserService userService() { return new UserService(); } } public class Main { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); UserService userService = context.getBean(UserService.class); // ... } }
- XML 構成ファイルによる Bean の取得
アノテーションの使用に加えて、XML 構成ファイルを使用して Bean を取得することもできます。 XML 設定ファイルでは、Bean の名前、タイプ、プロパティを定義し、ApplicationContext を通じて設定ファイルをロードして Bean インスタンスを取得できます。以下は例です。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="userService" class="com.example.UserService"> <property name="userRepository" ref="userRepositoryImpl" /> </bean> <bean id="userRepositoryImpl" class="com.example.UserRepositoryImpl" /> </beans>
public class Main { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService = context.getBean("userService", UserService.class); // ... } }
上記は、Spring で Bean を取得する一般的な方法をいくつか示しています。 @Component、@Autowired、@Qualifier、@Bean、および XML 設定ファイルを使用すると、アプリケーションで必要な Bean インスタンスを簡単に取得できます。さまざまなシナリオに対して、Bean を取得するための適切な方法を選択でき、Spring の依存関係注入メカニズムにより、コードがより簡潔で、柔軟で、テストしやすくなります。
以上がSpringでのBean取得方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
