Spring\SpringBoot配置連接數據庫的方法

Spring配置連接數據庫

設置jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/SSM
jdbc.username=root
jdbc.password=root

創建配置類

/**
 * @Author: Promsing
 * @Date: 2021/5/30 - 14:52
 * @Description:連接數據庫的配置類
 * @version: 1.0
 */
@Configuration//聲明該類是一個java配置類,相當於一個xml配置文件
@PropertySource("classpath:jdbc.properties") //讀取資源文件
public class JdbcConfiguration {
 
    @Value("${jdbc.driverClassName}")
    private String driverClassName;
 
    @Value("${jdbc.url}")
    private String url;
 
    @Value("${jdbc.username}")
    private String username;
 
    @Value("${jdbc.password}")
    private String password;
 
    @Bean //將返回值註入到IOC容器中
    public DataSource dataSource(){
        DruidDataSource dataSource=new DruidDataSource();
        //設置連接數據庫的四大參數
        dataSource.setDriverClassName(this.driverClassName);
        dataSource.setUrl(this.url);
        dataSource.setUsername(this.username);
        dataSource.setPassword(this.password);
        return dataSource;
    }
 
}

SpringBoot配置連接數據庫

設置application.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/SSM
jdbc.username=root
jdbc.password=root

創建配置類-JdbcProperties

/**
 * @Author: Promsing
 * @Date: 2021/5/30 - 15:41
 * @Description: 封裝瞭讀取出來的配置文件
 * @version: 1.0
 */
@ConfigurationProperties(prefix = "jdbc")
public class JdbcProperties {
 
    private String driverClassName;
 
    private String url;
 
    private String username;
 
    private String password;
 
   public void setDriverClassName(String driverClassName) {
        this.driverClassName = driverClassName;
    }
 
    public void setUrl(String url) {
        this.url = url;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    public String getDriverClassName() {
        return driverClassName;
    }
 
    public String getUrl() {
        return url;
    }
 
    public String getUsername() {
        return username;
    }
 
    public String getPassword() {
        return password;
    }
}

創建配置類-JdbcConfiguration

/**
 * @Author: Promsing
 * @Date: 2021/5/30 - 14:52
 * @Description: 連接數據庫的Java配置類
 * @version: 1.0
 */
@Configuration//聲明該類是一個java配置類,相當於一個西xml配置文件
@EnableConfigurationProperties(JdbcProperties.class) //加載JDBC的配置類
public class JdbcConfiguration {
 
 
    @Autowired
    private JdbcProperties jdbcProperties;
 
    //方式一
    @Bean //將返回值註入到IOC容器中
    public DataSource dataSource(){
        DruidDataSource dataSource=new DruidDataSource();
        //設置連接數據庫的四大參數
        dataSource.setDriverClassName(this.jdbcProperties.getDriverClassName());
        dataSource.setUrl(this.jdbcProperties.getUrl());
        dataSource.setUsername(this.jdbcProperties.getUsername());
        dataSource.setPassword(this.jdbcProperties.getPassword());
        return dataSource;
    }
    
      /*
        //方式二:最優雅最簡單--直接換掉方式一
        @Bean //將返回值註入到IOC容器中
        @ConfigurationProperties(prefix = "jdbc")
        public DataSource dataSource(){
            DruidDataSource dataSource=new DruidDataSource();
        return dataSource;
        }
    * */
 
    /*
        //方式三通過構造函數註入--在方式一上的方式修改
        public JdbcConfiguration(JdbcProperties jdbcProperties) {
            this.jdbcProperties = jdbcProperties;
        }
    * */
    
    /*
        //方式四通過方法的參數註入--直接換掉方式一
        public DataSource dataSource(dbcProperties jdbcProperties){
             DruidDataSource dataSource=new DruidDataSource();
            //設置連接數據庫的四大參數
            dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
            dataSource.setUrl(jdbcProperties.getUrl());
            dataSource.setUsername(jdbcProperties.getUsername());
            dataSource.setPassword(jdbcProperties.getPassword());
            return dataSource;
//    }
    * */
    
    
}

SpringBoot的四種屬性註入方式

1. Autowired註入

2.直接在@Bean方法中使用@ConfigurationProperties(prefix = “jdbc”)

3.構造函數主語

4.@Bean方法形參註入

需要註意的是配置文件中的名稱要與 JdbcProperties中的屬性名稱要一致。項目開發過程中第二種最優雅最簡潔,但是我們最常用的還是第一種,這一種更符合我們的開發習慣,書寫習慣。

Debug方式啟動,以上幾種方式都能給 DruidDataSource賦值。

到此這篇關於Spring\SpringBoot配置連接數據庫的方法 的文章就介紹到這瞭,更多相關SpringBoot配置連接數據庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: