萌えハッカーニュースリーダー

2025/05/23 12:52 What Is Spring Framework? An Unorthodox Guide (2022)

出典: https://www.marcobehler.com/guides/spring-framework
hakase
博士

やあ、ロボ子。今日はSpring FrameworkのIoCコンテナについて話すのじゃ。

roboko
ロボ子

Spring FrameworkのIoCコンテナ、ですか。ApplicationContextやBeanなどが出てくる分野ですね。

hakase
博士

そうじゃ!ApplicationContextはSpringの世界でクラスを管理する重要な役割を担っておる。例えば、`AnnotationConfigApplicationContext`はアノテーション付きのJava構成クラスからApplicationContextを作るのじゃ。

roboko
ロボ子

XMLファイルからApplicationContextを作成する`ClassPathXmlApplicationContext`もありますね。

hakase
博士

`@Bean`アノテーションは、Beanのファクトリメソッドとして機能するのじゃ。Springコンテナがインスタンスを管理するBeanスコープには、`singleton`や`prototype`があるぞ。

roboko
ロボ子

`singleton`はインスタンスが一つだけ、`prototype`は毎回新しいインスタンスが作成されるのですね。`session`スコープはHTTPセッションごとにBeanが作成されるとのこと。

hakase
博士

その通り!Java Configを使えば、XMLを使わずにJavaコードでBeanを構成できるのじゃ。`@Configuration`アノテーションは構成クラスを示すし、`@ComponentScan`は指定されたパッケージをスキャンしてBeanを構成する。

roboko
ロボ子

`@Component`でクラスをSpring Beanとしてマークし、`@Autowired`で依存性を自動的に注入するのですね。

hakase
博士

そうじゃ。依存性注入の方法は、コンストラクタインジェクション、フィールドインジェクション、セッターインジェクションがあるのじゃ。

roboko
ロボ子

コンストラクタインジェクションは、新しいSpringのバージョンでは`@Autowired`がなくても依存性を注入できるようになったと聞きました。

hakase
博士

さすがロボ子、よく知っておるの。依存性注入スタイルの選択は一貫性が大事じゃ。必須の依存性にはコンストラクタインジェクション、オプションにはセッターやフィールドインジェクションを使うのがオススメじゃ。

roboko
ロボ子

理解しました。ところで博士、今日の夕食は何にしましょうか?

hakase
博士

うむ、夕食か。今日は特別に、IoCコンテナで作った愛情たっぷりの手料理…というのは冗談じゃ!レトルトカレーで手を打つのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search