报错信息:测试Spring中的JDBCTemplate时
项目结构:
UserDaoImpl:
@Repository // 将UserDaoImpl配置到Bean中
public class UserDaoImpl implements IUserDao{
@Autowired // 自动装配
private JdbcTemplate jdbcTemplate;
public List<User> queryAll() {
List<User> users = jdbcTemplate.query("select * from user", new RowMapper<User>() {
public User mapRow(ResultSet rs, int i) throws SQLException {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString(2));
user.setPwd(rs.getString(3));
return user;
}
});
return users;
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 开启注解扫描 -->
<context:component-scan base-package="com.scg"></context:component-scan>
<!-- 配置JDBC.properties文件 -->
<!-- private Resource[] locations; -->
<bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>jdbc.properties</value>
</list>
</property>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driver}"/>
<property name="jdbcUrl" value="${url}"/>
<property name="user" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
<!-- 配置JDBCTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg index="0" ref="dataSource"></constructor-arg>
</bean>
错误原因:配置JDBC.properties文件时,class属性导错包,class=“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”
<bean id="sqlSessionFactory" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>jdbc.properties</value>
</list>
</property>
</bean>