SSH环境搭建出现NullPointerException
奇怪的是用Junit测试没有问题......
这是报的错误
java.lang.NullPointerException
com.tax.test.web.action.TestAction.regist(TestAction.java:29) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
可以确定的是UserServcie没有注入......
测试动作类是:
import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.tax.test.domain.User;
import com.tax.test.service.UserService;
public class TestAction extends ActionSupport implements ModelDriven<User> {
private User user = new User();
public void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
public User getModel() {
return user;
}
@Autowired
private UserService userService;
public String regist() {
System.out.println(userService);
userService.addUser(user);
return "success";
}
}
Junit测试代码
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.tax.test.domain.User;
import com.tax.test.service.UserService;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext.xml")
public class TestApp {
@Autowired
private UserService userService;
@Test
public void test01() {
User u = new User() ;
u.setUsername("hanman");
u.setPassword("1111");
System.out.println(userService);
userService.addUser(u);
}
}
Junit测试结果(控制台信息):
[email protected]
Hibernate:
insert
into
t_user
(username, password, id)
values
(?, ?, ?)
重新导包一下,就好了..
就这样子...
好奇怪的
.