SpringSpringBoot配置連接數(shù)據(jù)庫(kù)的方法
設(shè)置jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/SSMjdbc.username=rootjdbc.password=root
創(chuàng)建配置類(lèi)
/** * @Author: Promsing * @Date: 2021/5/30 - 14:52 * @Description:連接數(shù)據(jù)庫(kù)的配置類(lèi) * @version: 1.0 */@Configuration//聲明該類(lèi)是一個(gè)java配置類(lèi),相當(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ù)庫(kù)的四大參數(shù)dataSource.setDriverClassName(this.driverClassName);dataSource.setUrl(this.url);dataSource.setUsername(this.username);dataSource.setPassword(this.password);return dataSource; } }SpringBoot配置連接數(shù)據(jù)庫(kù)
設(shè)置application.properties
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/SSMjdbc.username=rootjdbc.password=root
創(chuàng)建配置類(lèi)-JdbcProperties
/** * @Author: Promsing * @Date: 2021/5/30 - 15:41 * @Description: 封裝了讀取出來(lái)的配置文件 * @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)建配置類(lèi)-JdbcConfiguration
/** * @Author: Promsing * @Date: 2021/5/30 - 14:52 * @Description: 連接數(shù)據(jù)庫(kù)的Java配置類(lèi) * @version: 1.0 */@Configuration//聲明該類(lèi)是一個(gè)java配置類(lèi),相當(dāng)于一個(gè)西xml配置文件@EnableConfigurationProperties(JdbcProperties.class) //加載JDBC的配置類(lèi)public class JdbcConfiguration { @Autowired private JdbcProperties jdbcProperties; //方式一 @Bean //將返回值注入到IOC容器中 public DataSource dataSource(){DruidDataSource dataSource=new DruidDataSource();//設(shè)置連接數(shù)據(jù)庫(kù)的四大參數(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;} * */ /*//方式三通過(guò)構(gòu)造函數(shù)注入--在方式一上的方式修改public JdbcConfiguration(JdbcProperties jdbcProperties) { this.jdbcProperties = jdbcProperties;} * *//*//方式四通過(guò)方法的參數(shù)注入--直接換掉方式一public DataSource dataSource(dbcProperties jdbcProperties){ DruidDataSource dataSource=new DruidDataSource(); //設(shè)置連接數(shù)據(jù)庫(kù)的四大參數(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ù)主語(yǔ)
4.@Bean方法形參注入
需要注意的是配置文件中的名稱(chēng)要與 JdbcProperties中的屬性名稱(chēng)要一致。項(xiàng)目開(kāi)發(fā)過(guò)程中第二種最優(yōu)雅最簡(jiǎn)潔,但是我們最常用的還是第一種,這一種更符合我們的開(kāi)發(fā)習(xí)慣,書(shū)寫(xiě)習(xí)慣。
Debug方式啟動(dòng),以上幾種方式都能給 DruidDataSource賦值。
到此這篇關(guān)于SpringSpringBoot配置連接數(shù)據(jù)庫(kù)的方法 的文章就介紹到這了,更多相關(guān)SpringBoot配置連接數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決2. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. 為什么你的android代碼寫(xiě)得這么亂4. 動(dòng)態(tài)設(shè)置django的model field的默認(rèn)值操作步驟5. 跟我學(xué)XSL(一)第1/5頁(yè)6. 使用JSP技術(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線(xiàn)測(cè)試系統(tǒng)的實(shí)例詳解7. Python中內(nèi)建模塊collections如何使用8. Docker創(chuàng)建本地鏡像實(shí)現(xiàn)方法解析9. 開(kāi)發(fā)效率翻倍的Web API使用技巧10. asp批量添加修改刪除操作示例代碼
