Bean定義とは何か、自分用の備忘録としてまとめる
Spring FrameworkにおけるBean
Spring FrameworkにおけるBeanの使い方では、使用するBeanの定義をXMLファイルに宣言する必要がある。
以下のような感じで毎回。。。
<bean id="Beanの名前" class="パッケージ + クラス名">
詳細な設定方法については、ググればたくさん詳しいものが出てくると思うのでここでは割愛。
とにかくインスタンス化したいクラスを作成するたびにXMLファイルを編集する必要があり、面倒くさいんですね。
Spring BootでBeanの管理をもっと簡単に
そこで、Spring Bootです。
Spring Bootではアノテーション方式で設定が可能なのです。
まず、Beanインスタンス作成するためのメソッドの前に@Beanアノテーションを追加し、Beanインスタンスを返値として指定します。
また、そのメソッドを保持するクラスの前には@Configurationアノテーションをつけてください。
これで設定ファイル(XMLファイル)を使わずにBean設定をするクラスと認識させることができるのです。
package パッケージ;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TestBeanConfig {
@Bean
public TestBeanClass testBean() {
return new Beanクラス; // Beanインスタンスを返す
}
}
ちなみに、@Component、@Service、@Repository、@Controllerをつけるクラスについては、このアノテーションをつけた時点でBeanとして登録されるため、@Beanを付与する必要はありません。