八月 06, 2020 3:52:33 下午 org.springframework.context.support.AbstractApplicationContext refresh
警告: Exception encountered during context initialization - cancelling refresh attempt:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookService': Unsatisfied dependency expressed through field 'bookDao';
nested exception is org.springframework.beans.factory.CannotLoadBeanClassException:
Cannot find class [com.alibaba.druid.pool.DruidDataSuorce] for bean with name 'DataSource' defined in class path resource [Beans1.xml];
nested exception is java.lang.ClassNotFoundException: com.alibaba.druid.pool.DruidDataSuorce
(这是我在自学spring整合JdbcTemplate时,运行了一个例子出现的错误,花了两天才解决,仅供参考)
1、出现这种错误首先你要去检查你有没有导入druid的jar包
阿里巴巴druid.jar包下载地址:https://mvnrepository.com/artifact/com.alibaba/druid
2、如果jar包导入没问题,你先去查看你的MySQL版本是不是5+的
如果版本是5的话你应该导入和版本一致的mysql-connector的jar包,例如:mysql-connector-java-5.1.39-bin.jar
而如果你的MySQL版本是5+新版本的话那你就要导入新版本的mysql-connector的jar包,例如:mysql-connector-java-8.0.19.jar
3、如果还是没用的话,那你就要去检查你的spring配置了(也就是xml文件),比如你的配置中有某段代码是复制粘贴过来的,那你最好自己重新敲一遍,复制粘贴有可能会导致空格出错,不懂的话可以看下我下面的这个小例子(我就是因为这个原因,搞了两天才搞出来 =_=......)
mysql8.0新版本如何配置连接池(一个简单的JdbcTemplate小例子来说明)
(1)引入jar包,这些jar包有一部分要用到(在这个例子)
(2)打开数据库(我这里的数据库是spring_jdbctemplate_demo1,其中有一个表teacher)
(3)创建这些类、xml和外部属性文件
创建BookService类
1 @Service //使用注解方式创建对象 2 public class BookService { 3 4 //注入dao 5 @Autowired //注解注入属性 6 private BookDao bookDao; 7 8 //插入方法 9 public void addTeacher(Teacher teacher) { 10 bookDao.add(teacher); 11 } 12 13 //修改方法 14 public void update(Teacher teacher) { 15 bookDao.update(teacher); 16 } 17 18 //删除方法 19 public void delete(String name) { 20 bookDao.delete(name); 21 } 22 23 //查询行数方法 24 public void selectCountAll() { 25 bookDao.selectCount(); 26 } 27 28 //查询返回对象 29 public Teacher selectObject(String name) { 30 return bookDao.selectReturnObject(name); 31 } 32 33 //查询返回集合 34 public List<Teacher> selectList() { 35 return bookDao.selectReturnList(); 36 } 37 38 //批量添加方法 39 public void batchAdd(List<Object[]> batchAddRow) { 40 bookDao.batchAddTeacher(batchAddRow); 41 } 42 43 //批量修改方法 44 public void batchUpdate(List<Object[]> batchUpdateRow) { 45 bookDao.batchUpdateTeacher(batchUpdateRow); 46 } 47 48 //批量删除方法 49 public void batchDelete(List<Object[]> batchDeleteRow) { 50 bookDao.batchDeleteTeacher(batchDeleteRow); 51 } 52 }