Spring BootでConfigurationクラスを用いてBean定義する方法をメモしておきます。このBean定義の方法は、主にコンポーネントスキャンによる自動登録ができない(例. 外部ライブラリに含まれるクラスをBeanとして登録する)場合に使われます。自作クラスをBean定義する場合は、@Component
や@Controller
といったアノテーションを使うことが多いですね。
Configurationクラスを用いてBean定義する方法
今回は、以下のクラスをBean定義することにします。message
をコンソールに表示するだけの簡単なクラスです。
さきほどのクラスをBean定義するために、以下のようなConfigurationクラスを作成します。Configurationクラスでは、クラスに@Configuration
を、メソッドに@Bean
を付与します。@Bean
を付与したメソッドに、Bean定義したいオブジェクトをreturnするように実装します。
あとはそのBeanを利用するクラスでDIしてやればOKです。以下例では、DemoBean
をDIして、指定のURLにアクセスするとコンソールにメッセージを表示するクラスを定義しています。
動作確認のためにアプリケーションクラスを実行します。
http://localhost:8080にアクセスすればコンソールに「Hello World」というメッセージが表示されるはずです。
まとめ
Spring BootでConfigurationクラスを用いてBean定義する方法でした。Configurationクラスでは、クラスに@Configuration
を、メソッドに@Bean
を付与します。@Bean
を付与したメソッドに、Bean定義したいオブジェクトをreturnするように実装すればOKです。