Spring.xml <util:properties id="db" location="classpath:jdbc.properties"/> <context:component-scan base-package="com.xms" /> <mvc:annotation-driven /> <!-- 声明DataSource --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="#{db.driver}" /> <property name="url" value="#{db.url}" /> <property name="username" value="#{db.user}"/> <property name="password" value="#{db.password}"/> </bean> <!-- 导入SpringJDBC --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!-- 引入数据源 --> <!-- <property name="dataSource" ref="dataSource"></property> --> <constructor-arg> <ref bean="dataSource"/> </constructor-arg> </bean> <!-- 实例化dao和service接口 --> <bean id="loginDao" class="com.xms.dao.LoginDaoImpl"> <!-- 注入Spring的jdbcTemplate --> <property name="jdbcTemplate" ref="jdbcTemplate"></property> </bean> <bean id="loginService" class="com.xms.service.loginServiceImpl"> <property name="loginDao" ref="loginDao"></property> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/xmscode?useUnicode=true&characterEncoding=utf8 user=root password=1234 controller: @Controller @RequestMapping("login") public class LoginController { private LoginService loginService; public LoginService getLoginService() { return loginService; } public void setLoginService(LoginService loginService) { this.loginService = loginService; } @RequestMapping("tologin") public String toLogin(){ return "login"; } @RequestMapping("login") public String login(User user, HttpServletRequest request) throws Exception{ //该行报错 loginService为null User u = loginService.checkInfo(user); HttpSession session = request.getSession(); session.setAttribute("nickname", u.getNickname()); return "index"; } } dao接口: public interface LoginDao { //根据email查找User public User findUserByEmail(User user) throws Exception; } daoImpl: @Repository public class LoginDaoImpl implements LoginDao { private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public User findUserByEmail(User user) throws Exception { User u = null; String sql = "select * from xc_user where email=?"; Object[] params = new Object[]{user.getEmail()}; u = jdbcTemplate.queryForObject(sql, (RowMapper<User>) new User(), params); return u; } } service接口: @Service public interface LoginService { public User checkInfo(User user) throws Exception; } service实现类: @Service public class loginServiceImpl implements LoginService{ private LoginDao loginDao; public LoginDao getLoginDao() { return loginDao; } public void setLoginDao(LoginDao loginDao) { this.loginDao = loginDao; } public User checkInfo(User user) throws Exception{ System.out.println("loginDao"+loginDao); User u = null; u = loginDao.findUserByEmail(user); if(u==null){ //用户名错误 throw new EmailErrorException("用户名错误"); }else if(!u.getPassword().equals(user.getPassword())){ //密码错误 throw new PasswordErrorException("密码错误"); }else{ //用户名和密码正确 return u; } } }
Spring 注入Bean时为null
来源:这里教程网
时间:2026-03-01 12:02:50
作者:
编辑推荐:
- mysql 执行计划索引分析笔记03-01
- Spring 注入Bean时为null03-01
- 常用的MySQL中间件网址汇总03-01
- 直击DTCC2019现场:数据库智能化运维探索与实践03-01
- 推荐一款快速开发平台,web中最好的快速开发平台03-01
- 记住:永远不要在 MySQL 中使用 UTF-803-01
- 3dmax制作个性卧室效果图教程03-01
- mysql next-key lock的理解03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 直击DTCC2019现场:数据库智能化运维探索与实践
直击DTCC2019现场:数据库智能化运维探索与实践
26-03-01 - 推荐一款快速开发平台,web中最好的快速开发平台
推荐一款快速开发平台,web中最好的快速开发平台
26-03-01 - 3dmax制作个性卧室效果图教程
3dmax制作个性卧室效果图教程
26-03-01 - mysql next-key lock的理解
mysql next-key lock的理解
26-03-01 - 3ds Max制作四轮摩托车实例教程
3ds Max制作四轮摩托车实例教程
26-03-01 - 一个慢SQL优化建议
一个慢SQL优化建议
26-03-01 - 解析MySQL基础架构及一条SQL语句的执行流程和流转
解析MySQL基础架构及一条SQL语句的执行流程和流转
26-03-01 - MySQL 复习笔记
MySQL 复习笔记
26-03-01 - 开发人员不得不知的MySQL索引和查询优化
开发人员不得不知的MySQL索引和查询优化
26-03-01 - 3ds Max制作立体摇滚机器人教程
3ds Max制作立体摇滚机器人教程
26-03-01
