SSH插入数据,报空指针???

SSH做了一个小例子,save的时候报空指针,主要是hibernate封装jdbc时报空指针,代码如下:
ACTION:[color=red]自动装配不行,我new出来的,有问题么?[/color]UserService userService = new UserService();
UserDao userDao = new UserDao();
User user = new User();
user.setName(name);
user.setPassword(password);
user.setEmail(email);
user.setPhone(phone);
user.setCompany(company);
user.setAddress(address);
user.setCreateTime(new Date());
user.setModificationTime(new Date());

[color=red]37行------------- userDao.save(user)[/color]

暂时没调用service,dao的代码:
@Repository
public class UserDao extends HibernateDao {

}

[color=red]HibernateDao里面的save部分代码:[/color]
public void save(T o) {
getHibernateTemplate().saveOrUpdate(o);

}

[color=red]spring.xml:[/color]



















org.hibernate.dialect.MySQLDialect
true
update
thread

false
true
true
true
50
50
true



<!-- 配置事务管理器 -->



<!-- 支持@Transactional -->

报错的代码就是空指针,没头绪啊:
java.lang.NullPointerException

com.shop.dao.base.HibernateDao.save(HibernateDao.java:672)
com.shop.action.RegisterAction.execute(RegisterAction.java:37)

[color=red]前辈们指导指导。。。愁死我了[/color]

[code="java"]ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");
UserDao userDao = ctx.getBean("userDao",UserDao.class);[/code]
手敲的不知道拼错了没有

[quote]自动装配不行,我new出来的,有问题么?UserService userService = new UserService();
UserDao userDao = new UserDao(); [/quote]

自己手动new 出来的对象是不受 Spring 管理的!
也得不到 容器的资源,比如 数据库连接等,
具体写法 可以参见 上面那个仁兄 代码!

为什么不把userService交给spring管理?在spring里把userService userDao给配上

检查页面与你的获取的名称是否一致。

new肯定不行,你既然ssh了,dao就应该让spring帮你托管。

直接交给spring管理,既然是ssh。你这样new出来,页面传过来的值根本就接受不到。

debug一下先,看看你的字段里面是否获得前台传过来的值

UserDao userDao = new UserDao();
。。。瞎了狗眼

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");
UserDao userDao = ctx.getBean("userDao",UserDao.class);

正解!