日期:2014-05-17  浏览次数:21285 次

使用JdbcTemplate报找不到这个类
通过注解的方式配置了SpringMVC,想使用JdbcTemplate,却报找不到。

spring-jdbc3.2的jar已经引入。

异常:

java.lang.ClassNotFoundException: org.springframework.jdbc.core.JdbcTemplate
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
java.lang.Class.getDeclaredMethods0(Native Method)
java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
java.lang.Class.getDeclaredMethods(Class.java:1791)

首先,在配置文件中声明了它。

?    <bean  id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >
        <constructor-arg ref="dataSource" />
    </bean>

然后,整了个AbstractBaseDao,注入它

public abstract class AbstractBaseDao {
    // SPRING JDBC模板接口
    private JdbcTemplate jdbcTemplate;


    public JdbcTemplate getJdbcTemplate() {
        return jdbcTemplate;
    }
    @Resource
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }
}

接着,做了个UserDao以及UserDaoImpl


@Component("userDao")
public class UserDaoImpl extends AbstractBaseDao implements UserDao {

    //用户登录
    public boolean login(String userName, String passWord) {

再弄了个servcie和serviceImpl

@Service
@Component("userService")
public class UserServiceImpl implements UserService {

    @Resource
    private UserDao userDao;

最后UserController

@Controller
@RequestMapping(value = "/user")
public class UserController {

    /**
     * 用户业务接口
     */
    @Autowired
    private UserService userService;

感觉上没有什么问题。在网上搜了几种配置方法都试了遍,老是有这个问题。

如果在类中不注入jdbcTemplate,而只配置在xml中的话,运行的时候就没有报错,说明JdbcTemplate这个类肯定是可以找到的。

是不是在注解的配置上出了问题,求哪个位大神指点一下。

?





------解决方案--------------------
你启用注解没??
------解决方案--------------------
你是不是少jar 了。
------解决方案--------------------
你这个是少DBCP的jar包了。。
------解决方案--------------------
用注解报错。那扫描包是不是没有扫到?