Spring\SpringBoot配置連接數(shù)據(jù)庫的方法
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ì)象池介紹,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09SpringBoot統(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-08Springboot整合Redis最簡(jiǎn)單例子分享
這篇文章主要介紹了Springboot整合Redis最簡(jiǎn)單例子分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java并發(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-09Java實(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ū)別
下面小編就為大家?guī)硪黄獪\談java中類名.class, class.forName(), getClass()的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin
這篇文章主要介紹了TransmittableThreadLocal通過javaAgent實(shí)現(xiàn)線程傳遞并支持ForkJoin詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06