java-study-springboot-基礎學習-01-Spring的發展

Spring的發展

一、Spring 1.x

spring 1.x 時代主要使用xml配置和java代碼的方式java

二、Spring 2.x

隨着JDK 1.5帶來的註解支持,Spring2.x可使用註解對Bean進行申明和注入,大大的減小了xml配置文件,同時也大大簡化了項目的開發。
一、 應用的基本配置用xml,好比:數據源、資源文件等;
二、 業務開發用註解,好比:Service中注入bean等;spring

三、Spring 3.x,4.x

從Spring3.x開始提供了Java配置方式,使用Java配置方式能夠更好的理解你配置的Bean,如今咱們就處於這個時代,而且Spring4.x和Springboot都推薦使用java配置的方式。數據庫

3.1 Spring 3.x,4.x 註解說明

  • @Configuration
    @Configuration做用於類上,至關於一個xml配置文件;
  • @Bean
    @Bean做用於方法上,至關於xml配置中的<bean>
  • 讀取外部配置文件
    類上的註解:
    @Configuration//經過該註解來代表該類是一個Spring的配置,至關於一個xml文件
    @ComponentScan(basePackages = "com.xxx.xxx") //配置掃描包
    @PropertySource(value= {"classpath:jdbc.properties"})
    註解配置到field
    eg:
    @Value("${jdbc.url}")
    private String jdbcUrl;
    備註:
    一、查看PropertySource.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 對數據源的設置。
相關文章
相關標籤/搜索