欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring\SpringBoot配置連接數(shù)據(jù)庫的方法

 更新時(shí)間:2021年06月02日 11:49:19   作者:小小張自由—>張有博  
最近在學(xué)習(xí)SpringBoot,第一步就是要配置數(shù)據(jù)庫,本文詳細(xì)的介紹了Spring\SpringBoot配置連接數(shù)據(jù)庫的方法,有需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Spring配置連接數(shù)據(jù)庫

設(shè)置jdbc.properties

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

創(chuàng)建配置類

/**
 * @Author: Promsing
 * @Date: 2021/5/30 - 14:52
 * @Description:連接數(shù)據(jù)庫的配置類
 * @version: 1.0
 */
@Configuration//聲明該類是一個(gè)java配置類,相當(dāng)于一個(gè)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();
        //設(shè)置連接數(shù)據(jù)庫的四大參數(shù)
        dataSource.setDriverClassName(this.driverClassName);
        dataSource.setUrl(this.url);
        dataSource.setUsername(this.username);
        dataSource.setPassword(this.password);
        return dataSource;
    }
 
}

SpringBoot配置連接數(shù)據(jù)庫

設(shè)置application.properties

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

創(chuàng)建配置類-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;
    }
}

創(chuàng)建配置類-JdbcConfiguration

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

4.@Bean方法形參注入

需要注意的是配置文件中的名稱要與 JdbcProperties中的屬性名稱要一致。項(xiàng)目開發(fā)過程中第二種最優(yōu)雅最簡(jiǎn)潔,但是我們最常用的還是第一種,這一種更符合我們的開發(fā)習(xí)慣,書寫習(xí)慣。

Debug方式啟動(dòng),以上幾種方式都能給 DruidDataSource賦值。

到此這篇關(guān)于Spring\SpringBoot配置連接數(shù)據(jù)庫的方法 的文章就介紹到這了,更多相關(guān)SpringBoot配置連接數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?Apache?common-pool對(duì)象池介紹

    Java?Apache?common-pool對(duì)象池介紹

    這篇文章主要介紹了Java Apache?common-pool對(duì)象池介紹,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-09-09
  • Java微信公眾號(hào)推送模版消息的步驟示例詳解

    Java微信公眾號(hào)推送模版消息的步驟示例詳解

    模板消息是一種向用戶發(fā)送通知的服務(wù),廣泛用于訂單狀態(tài)更新、服務(wù)提醒等場(chǎng)景,下面,我將詳細(xì)介紹如何使用Java結(jié)合微信官方提供的API來實(shí)現(xiàn)模板消息的推送,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring中容器創(chuàng)建的四種方式示例

    Spring中容器創(chuàng)建的四種方式示例

    這篇文章主要介紹了Spring中容器創(chuàng)建的四種方式示例,Spring容器是Spring框架的核心部分,它負(fù)責(zé)管理和組織應(yīng)用程序中的對(duì)象,它提供了一種輕量級(jí)的、非侵入式的方式來實(shí)現(xiàn)對(duì)象的創(chuàng)建、依賴注入和生命周期管理,需要的朋友可以參考下
    2023-10-10
  • SpringBoot統(tǒng)一響應(yīng)和統(tǒng)一異常處理詳解

    SpringBoot統(tǒng)一響應(yīng)和統(tǒng)一異常處理詳解

    在開發(fā)Spring Boot應(yīng)用時(shí),處理響應(yīng)結(jié)果和異常的方式對(duì)項(xiàng)目的可維護(hù)性、可擴(kuò)展性和團(tuán)隊(duì)協(xié)作有著至關(guān)重要的影響,統(tǒng)一結(jié)果返回和統(tǒng)一異常處理是提升項(xiàng)目質(zhì)量的關(guān)鍵策略之一,所以本文給大家詳細(xì)介紹了SpringBoot統(tǒng)一響應(yīng)和統(tǒng)一異常處理,需要的朋友可以參考下
    2024-08-08
  • Springboot整合Redis最簡(jiǎn)單例子分享

    Springboot整合Redis最簡(jiǎn)單例子分享

    這篇文章主要介紹了Springboot整合Redis最簡(jiǎn)單例子分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java并發(fā)編程之關(guān)鍵字volatile的深入解析

    Java并發(fā)編程之關(guān)鍵字volatile的深入解析

    提高java的并發(fā)編程,就不得不提volatile關(guān)鍵字,不管是在面試還是實(shí)際開發(fā)中volatile都是一個(gè)應(yīng)該掌握的技能,這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程之關(guān)鍵字volatile的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Java實(shí)現(xiàn)雪花算法(snowflake)

    Java實(shí)現(xiàn)雪花算法(snowflake)

    這篇文章主要介紹了Java實(shí)現(xiàn)雪花算法(snowflake),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 淺談java中類名.class, class.forName(), getClass()的區(qū)別

    淺談java中類名.class, class.forName(), getClass()的區(qū)別

    下面小編就為大家?guī)硪黄獪\談java中類名.class, class.forName(), getClass()的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java 輕松入門了解File類的使用

    Java 輕松入門了解File類的使用

    Java文件類以抽象的方式代表文件名和目錄路徑名。該類主要用于文件和目錄的創(chuàng)建、文件的查找和文件的刪除等。File對(duì)象代表磁盤中實(shí)際存在的文件和目錄。通過以下構(gòu)造方法創(chuàng)建一個(gè)File對(duì)象
    2022-03-03
  • TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin

    TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin

    這篇文章主要介紹了TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評(píng)論