この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:6
ページ更新者:T
更新日時:2019-02-01 06:46:45

タイトル: @Bean
SEOタイトル: 【Spring】@Beanアノテーションとは

この記事の要点
  • @Bean@Configuration クラス内のメソッドに付与するアノテーション
  • メソッドの戻り値オブジェクトをBean として DI コンテナに登録する
  • 主な用途: DataSource / JdbcTemplate など外部ライブラリのクラスを Bean 化
  • @Component が使えないサードパーティクラスでも @Bean なら登録可能

 

本稿はSpringFrameworkの@Beanについて説明します。

@Beanとは

@Bean@Configurationクラスにメソッド単位で付与されます。

@Beanが付与されたクラスは原則としてDataSourceやJdbcTemplateといった"クラス"を戻り値とします。

以下、DB設定クラスのサンプルです。

@Configuration
@PropertySource({ "classpath:/jdbc.properties" })
public class DBConfig {

    @Autowired
    private Environment environment;

    @Bean
    public DataSource getDataSource() {
        final DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(environment.getProperty("jdbc.driverClassName"));
        dataSource.setUrl(environment.getProperty("jdbc.url"));
        dataSource.setUsername(environment.getProperty("jdbc.username"));
        dataSource.setPassword(environment.getProperty("jdbc.password"));
        return dataSource;
    }
}