Springboot配置jdbc数据源

通过@ProperitesSource注解读取配置信息

1,加入依赖

  

2,通过自定义配置文件配置数据源信息

  

3,创建配置类

package com.bdqn.springbootjdbc.config;

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

import javax.sql.DataSource;

/*
* 数据源的JDBC配置类
* */
@Configuration
@PropertySource("classpath:/jdbc.properties")//加载指定的jdbc配置文件
public class JdbcConfiguraction {

    @Value("${jdbc.driverClassName}")
    private String driverClassName;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    /*实例化Druid*/
    @Bean
    public DataSource getDataSource()
    {
        DruidDataSource source=new DruidDataSource();
        source.setDriverClassName(this.driverClassName);
        source.setUrl(this.url);
        source.setUsername(this.username);
        source.setPassword(this.password);
        return source;
    };
}

4,测试结果 设置断点测试

  

   

通过@ConfigurationProperties读取配置信息  可以将配置信息达到充分的复用

记得一定要在springboot的配置文件配置数据信息

  属性名必须与配置文件相同

/*
* JDBC配置信息属性类
* */
@ConfigurationProperties(prefix = "jdbc")//是springboot的注解不能读取别的配置文件,只能读取Springboot的application.properites配置文件
public class jdbcproperties {
    private String driverClassName;
    private String url;
    private String username;
    private String password;

    public String getDriverClassName() {
        return driverClassName;
    }

    public void setDriverClassName(String driverClassName) {
        this.driverClassName = driverClassName;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
/*
* 数据源的JDBC配置类
* */
@Configuration
//@PropertySource("classpath:/jdbc.properties")//加载指定的jdbc配置文件
@EnableConfigurationProperties(jdbcproperties.class)//指定加载那个配置信息属性类
public class JdbcConfiguraction {

    @Autowired
    private jdbcproperties jdbcproperties;
    
    @Bean
    public DataSource getDataSource()
    {
        DruidDataSource source=new DruidDataSource();
        source.setDriverClassName(this.jdbcproperties.getDriverClassName());
        source.setUrl(this.jdbcproperties.getUrl());
        source.setUsername(this.jdbcproperties.getUsername());
        source.setPassword(this.jdbcproperties.getPassword());
        return source;
    };
}

 优雅的使用@ConifuractionProperites注解   可以取消之前的属性类

  

 直接使用配置文件配置数据源

  

  测试

  

  报错没关系因为没有ok这个页面

   

 使用第三方数据源

  加入数据源依赖

  

   在配置文件修改

  

  

原文地址:https://www.cnblogs.com/yz-bky/p/12794990.html