spring 1.x 時代主要使用xml配置和java代碼的方式java
隨着JDK 1.5帶來的註解支持,Spring2.x可使用註解對Bean進行申明和注入,大大的減小了xml配置文件,同時也大大簡化了項目的開發。
一、 應用的基本配置用xml,好比:數據源、資源文件等;
二、 業務開發用註解,好比:Service中注入bean等;spring
從Spring3.x開始提供了Java配置方式,使用Java配置方式能夠更好的理解你配置的Bean,如今咱們就處於這個時代,而且Spring4.x和Springboot都推薦使用java配置的方式。數據庫
/** * @Bean 至關與獲取一個bean,相似xml 方式的配置,方法名就是xml方式配置bean的id,所 *以方法不用getDataSource, id 通常不用getXXX. * @return */ **@Bean(destroyMethod = "close")**//destroyMethod = "close" public DataSource dataSource() { BoneCPDataSource boneCPDataSource = new BoneCPDataSource(); // 數據庫驅動 boneCPDataSource.setDriverClass(jdbcDriverClassName); // 相應驅動的jdbcUrl boneCPDataSource.setJdbcUrl(jdbcUrl); // 數據庫的用戶名 boneCPDataSource.setUsername(jdbcUsername); // 數據庫的密碼 boneCPDataSource.setPassword(jdbcPassword); // 檢查數據庫鏈接池中空閒鏈接的間隔時間,單位是分,默認值:240,若是要取消則設置爲0 boneCPDataSource.setIdleConnectionTestPeriodInMinutes(60); // 鏈接池中未使用的連接最大存活時間,單位是分,默認值:60,若是要永遠存活設置爲0 boneCPDataSource.setIdleMaxAgeInMinutes(30); // 每一個分區最大的鏈接數 boneCPDataSource.setMaxConnectionsPerPartition(100); // 每一個分區最小的鏈接數 boneCPDataSource.setMinConnectionsPerPartition(5); final Connection connection; try { connection = boneCPDataSource.getConnection(); System.out.println("數據庫鏈接爲:"); System.out.println(connection); } catch (SQLException e) { e.printStackTrace(); } return boneCPDataSource; }
**備註:** 一、@Bean(destroyMethod = "close")以便Spring容器關閉時,數據源可以正常關閉;銷燬方法調用close(),是將鏈接關閉,並非真正的把資源銷燬。 二、同時咱們能夠注意BoneCPDataSource 對數據源的設置。