关于idea 使用springboot装配Druid数据原,DataSource无法装配的问题

本文主要介绍了在SpringBoot项目中遇到Druid数据源无法装配的问题及其解决步骤,包括确认依赖导入、检查application.yml配置以及如何正确将DruidDataSource装配到IOC容器中。通过测试类验证,成功获取数据库连接。

首先需要确定已经导入了相关的依赖包

<dependencies>
	<!--数据库连接驱动-->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>
	<!--Druid数据源-->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>druid</artifactId>
	</dependency>
	<!--测试相关依赖-->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

其次是application.yml 文件中是否已经做了数据源的相关配置

spring:
  datasource:
    name: mydb
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://数据库地址:端口号/数据库名?serverTimezone-UTC
    username: username
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

接下来是最重要的一步,就是装配DruidDataSource到IOC容器中,装配Bean类有两种办法,第一种是写一个配置类文件,然后装配,也可以直接写在主启动类中,以写在主启动类中为例:

@SpringBootApplication
public class MysqlMainApp {
    public static void main(String[] args) {
        SpringApplication.run(MysqlMainApp.class, args);
    }
    
    @Bean // 使用注解装配到IOC容器中
    @ConfigurationProperties(prefix = "spring.datasource") // 指定数据源的配置所在位置,这一步是关键,如果没有,极有可能是无法正常装配DataSource的
    public DataSource getDateSource() {
        return new DruidDataSource();
    }
}

定义一个测试类,测试是否装配成功

@RunWith(SpringRunner.class)
@SpringBootTest()
public class MybatisTest {

    @Autowired()
    private DataSource dataSource;

    private final Logger logger = LoggerFactory.getLogger(MybatisTest.class);

    @Test
    public void test() throws SQLException {
        final Connection connection = dataSource.getConnection();
        logger.info(connection.toString());
    }
}

测试结果成功拿到连接

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值