spring jdbc 连接错误,急求大神解答

错误信息:java.lang.NoClassDefFoundError: Could not initialize class org.springframework.jdbc.core.StatementCreatorUtils

代码:
package com.xiaoming.spring.jdbc.dao;

import javax.annotation.Resource;

import javax.sql.DataSource;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Repository;

import com.xiaoming.spring.jdbc.model.User;

@Repository("userDao")

public class UserDao implements IUserDao{

private JdbcTemplate jdbcTemplate;                                                                  

@Resource(name="dataSource")                                                                        
public void setJdbcTemplate(DataSource dataSource) {                                                
    this.jdbcTemplate = new JdbcTemplate(dataSource);                                               
}                                                                                                   



public JdbcTemplate getJdbcTemplate() {                                                             
    return jdbcTemplate;                                                                            
}                                                                                                   


@Override                                                                                           
public void insert(User user) {                                                                     
    jdbcTemplate.update("insert into tab_user(username,password) values (?,?)",                     
            user.getUsername(),user.getPassword());                                                 
    System.out.println("插入"+user);                                                                  
}                                                                                                   

@Override                                                                                           
public void query(int id) {                                                                         
    // TODO Auto-generated method stub                                                              

}                                                                                                   

@Override                                                                                           
public void del(int id) {                                                                           
    // TODO Auto-generated method stub                                                              

}                                                                                                   

@Override                                                                                           
public void update(User user) {                                                                     
    // TODO Auto-generated method stub                                                              

}                                                                                                   

}

beans:
<?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">

<context:annotation-config> </context:annotation-config>                                         
<context:component-scan base-package="com.xiaoming.spring.jdbc"></context:component-scan>        

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"                           
    destroy-method="close">                                                                      
    <property name="driverClassName" value="${jdbc.driverClassName}"></property>                 
    <property name="url" value="${jdbc.url}"></property>                                         
    <property name="username" value="${jdbc.username}"></property>                               
    <property name="password" value="${jdbc.password}"></property>                               
    </bean>                                                                                      
<context:property-placeholder location="jdbc.properties"/>                                       

配置文件:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/spring_teach
jdbc.username = root
jdbc.password = 2013

补充说明:我用的的MyEclipse for spring 2014,不过有很多jar文件都要自己导入的,mysql 的驱动包我已经导入

5个回答

@Resource(name="dataSource")

public void setJdbcTemplate(DataSource dataSource) {

this.jdbcTemplate = new JdbcTemplate(dataSource);

}

这个应该是你的注入出了问题,,你这段代码,,注入的是你的JdbcTemplate,,而不是参数,,就相当于
JdbcTemplate jdbcTemplate=new DataSource()..所以会抛异常

qq948216248
qq948216248 这个改过还是出现同样的错误,应该不是这里的问题
接近 5 年之前 回复

可能是spring的jar包不对,检查下spring的版本。看下这个类.StatementCreatorUtils所在的jar是什么,导入它试试。

qq948216248
qq948216248 StatementCreatorUtils这个类和JdbcTemplate类所在的jar包都是一样的import org.springframework.jdbc.core.*
接近 5 年之前 回复

看是不是包到重复了

找到问题了吗????????????

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问