Spring缺失连接池

idea报错代码:

Caused by: java.lang.IllegalArgumentException: Property 'dataSource' is required

缺失dataSource连接池

检查方法:

可以在JDBC处打一个输出一下连接池,和获取配置文件的属性信息,看一下是否正常

@Value("${jdbc.driver}")
    private String drive;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;


    @Bean
    public DataSource dataSource (){
        DruidDataSource dds = new DruidDataSource();
        dds.setDriverClassName(drive);
        dds.setUrl(url);
        dds.setUsername(username);
        dds.setPassword(password);
//输出看下是否创建成功
        System.out.print(dds);
        System.out.println("-----dataSource创建成功...");
        System.out.println(username+":"+password);
        return dds;
    }

正确的输出的结果是:

{
    CreateTime:"2022-01-17 13:01:17",
    ActiveCount:0,
    PoolingCount:0,
    CreateCount:0,
    DestroyCount:0,
    CloseCount:0,
    ConnectCount:0,
    Connections:[
    ]
}-----dataSource创建成功...
root:root

如果结果获取不到, 检查SpringConfig配置类

1.是否导入JDBC配置类

2.是否导入JDBC的配置路径

3.看下配置文件的用户名变量是不是写的username,这个名字被系统默认占用,换一下名字再试试

//告诉Spring这是你的配置类
@Configuration
//告诉Spring接管Bean的路径
@ComponentScan("com.xxxx")
//加载properties的路径
@PropertySource("JDBC_Config.properties")
//导入jdbc 和mybatis
@Import({JdbcConfig.class,MybatisConfig.class})
public class SpringConfig {
}

如果获取到,检查 Mybatis的SQLSessionFactoryBean 中是否往 SQLSessionFactoryBean 对象设置连接池

 @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource) throws Exception {
        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
        //设置连接池
        ssfb.setDataSource(dataSource);
        //设置javaBean的位置
        ssfb.setTypeAliasesPackage("com.xxxx.pojo");
        //开启自动驼峰模式
        //ssfb.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
        System.out.println("sqlSessionFactoryBean创建成功...");
        return ssfb;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值