【发布时间】:2015-10-05 02:31:09
【问题描述】:
我正在开发 java,spring web 应用程序。我在将 DataSource 添加到扩展 JdbcDaoSupport 的 DAO 实现类时遇到了一些问题。
我通过互联网搜索并找到了类似的解决方案。
DaoImpliment 类
@Repository
public class UserDAOImpl extends JdbcDaoSupport implements UserDAO {
@Autowired
private DataSource dataSource;
@PostConstruct
private void initialize() {
setDataSource(dataSource);
}
public int getUserID(String userName) {
//testing JDBC
String sql = "select user_id from users where username =" + "'" + userName + "'";
List<UserDTO> userDTOs = new ArrayList<UserDTO>();
List<Map<String, Object>> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows) {
UserDTO userDTO = new UserDTO();
userDTO.setUserID((Integer) row.get("CUST_ID"));
userDTOs.add(userDTO);
}
int userID = userDTOs.get(0).getUserID();
return userID;
}
}
还有我的 bean 配置。
<bean id="userDao" class="com.avers.dao.UserDAOImpl">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/aversdb"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
但这给了我错误。 org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 java.lang.NullPointerException
我认为错误出在 bean 配置中。 我是 spring 新手,请有人帮忙。
【问题讨论】:
-
你的 DataSource 配置是在 xml 配置文件中定义的吗?
-
是的。那已经在那里了。
标签: java spring datasource autowired spring-bean