吃瓜~ 2019-03-13 15:38 采纳率: 50%
浏览 9551
已采纳

SpringBoot使用JdbcTemplate 项目启动报错:

报错详情:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-03-13 15:31:51.932 ERROR 31060 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :


APPLICATION FAILED TO START


Description:

Field jdbcTemplate in com.lmy.demo.service.UserService required a bean of type 'org.springframework.jdbc.core.JdbcTemplate' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'org.springframework.jdbc.core.JdbcTemplate' in your configuration.

  • 写回答

3条回答 默认 最新

  • pangwenyu1989620 2019-03-13 16:31
    关注

    有添加数据源配置吗?
    解决方案:

    在运行类中加入如下代码,DateSource这块看自己的数据源,我这边用的是阿里的druid

    [java] view plain copy

    package com.gwd;

    import javax.sql.DataSource;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    import org.springframework.context.annotation.Bean;

    import org.springframework.core.env.Environment;

    import com.alibaba.druid.pool.DruidDataSource;

    @SpringBootApplication

    public class SpringBootTestApplication {

    public static void main(String[] args) {

    SpringApplication.run(SpringBootTestApplication.class, args);

    }

    @Autowired  
    private Environment env;  
    
    //destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.  
    @Bean(destroyMethod =  "close")  
    public DataSource dataSource() {  
        DruidDataSource dataSource = new DruidDataSource();  
        dataSource.setUrl(env.getProperty("spring.datasource.url"));  
        dataSource.setUsername(env.getProperty("spring.datasource.username"));//用户名  
        dataSource.setPassword(env.getProperty("spring.datasource.password"));//密码  
        dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));  
        dataSource.setInitialSize(2);//初始化时建立物理连接的个数  
        dataSource.setMaxActive(20);//最大连接池数量  
        dataSource.setMinIdle(0);//最小连接池数量  
        dataSource.setMaxWait(60000);//获取连接时最大等待时间,单位毫秒。  
        dataSource.setValidationQuery("SELECT 1");//用来检测连接是否有效的sql  
        dataSource.setTestOnBorrow(false);//申请连接时执行validationQuery检测连接是否有效  
        dataSource.setTestWhileIdle(true);//建议配置为true,不影响性能,并且保证安全性。  
        dataSource.setPoolPreparedStatements(false);//是否缓存preparedStatement,也就是PSCache  
        return dataSource;  
    }  
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程
  • ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
  • ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
  • ¥15 Python pandas
  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
  • ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能
  • ¥15 空间转录组CRAD遇到问题
  • ¥20 materialstudio计算氢键脚本问题