Spring Boot 配置數據庫 連接方式


Spring Boot  (mybatis)配置數據庫 連接方式

 

1、第一種方式,使@Value 注解的方式進行注入

1.1 編寫配置文件 例如 jdbc.properties

  

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

 

1.2 編寫一個屬性類、配置類

 
         
@Data
public class jdbcProperties {
String url;
String driverClassName;
String username;
String password;
}















package com.caicia.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import javax.sql.DataSource; @Configuration @EnableConfigurationProperties(jdbcProperties.class) @PropertySource("classpath:jdbc.properties") 以前的配置方式 public class JdbcConfig { //Spring boot 自帶的Value注解 @Value("${jdbc.url}") String url; @Value("${jdbc.driverClassName}") String dirclassname; @Value("${jdbc.username}") String username; @Value("${jdbc.password}") String password; @Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(dirclassname); dataSource.setUsername(username); dataSource.setUrl(url); dataSource.setPassword(password); return dataSource; } }

 

 

2、第二種數據庫注入方式

 2.1 編寫一個默認的數據配置文件:application.proterties

      

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

 

 2.2 編寫屬性類 

     

package com.caicia.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
//添加配置屬性注解
@ConfigurationProperties(prefix = "jdbc") //追加前綴 
@Data //lombock 插件,使用這個注解,可以在編譯的時候自動生成 get set  toString 方法。詳細查看lombock 源碼
public class jdbcProperties {
    String url;
    String driverClassName;
    String username;
    String password;
}

 

2.3 編寫配置類

       

package com.caicia.config;


import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;
//添加配置類注解
@Configuration
//添加允許配置屬性注解,並引入配置文件 @EnableConfigurationProperties(jdbcProperties.
class) // public class JdbcConfig { @Bean public DataSource dataSource(jdbcProperties jdbcProperties){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(jdbcProperties.getDriverClassName()); dataSource.setUsername(jdbcProperties.getUsername()); dataSource.setUrl(jdbcProperties.getUrl()); dataSource.setPassword(jdbcProperties.getPassword()); return dataSource; } }

3、相對優雅的注入數據方式

     3.1 編寫屬性類

         

package com.caicia.config;

import lombok.Data;

@Data
public class jdbcProperties {
    String url;
    String driverClassName;
    String username;
    String password;
}

3.2 編寫配置類

    

package com.caicia.config;


import com.alibaba.druid.pool.DruidDataSource;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;
//添加配置類注解
@Configuration
public class JdbcConfig {
        @Bean
        @ConfigurationProperties(prefix = "jdbc")
// datasource 方法是Spring 去調用的,它會在調用的時候,首先會掃描到配置注解,然后去找datasouce 相關字段有沒有set 方法如果有 自動注入到applicationcontext 中
public DataSource dataSource (){ return new DruidDataSource(); } }

 

  3.3 編寫 application.properties

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM