Skip to content

20251230_SpringBootのAutoConfigureについて

SpringBootにはAutoConfigure(オートコンフィギュレーション)の仕組みが存在し、これは必要なBean定義をフレームワーク側で自動でやってくれる仕組みである。SpringBootなしだと、プログラマがBean定義(@Configurationを付与したクラス内に@Beanを付与したメソッドを実装する)をやる必要があったが、その手間を省略してくれる優れものである。

具体的な仕組みとしては、SpringBoot側で様々なコンフィグクラス(@Configurationを付与したクラス)を用意しており、開発者が指定した依存関係などに従って、Springが必要なBean定義を理解し、それらのコンフィグクラスを有効化することで、オートコンフィギュレーションを実現させている。通常は、クラスパス上に存在していれば、すなわち依存関係に追加されていれば、オートコンフィギュレーションの中で自動でBean定義してくれる。

コンフィグクラスの有効/無効を制御するために、@Conditionalが付与される。このアノテーションの引数?に条件(Conditionインターフェースの実装)を指定し、条件に合致した場合に、@Conditionalが付与されたコンフィグクラスが有効化される。