关于ssh中service层和DAO层的测试
我想单独测某个LoginUserService的功能,然后用下面代码返回student的一个实体,再得到name。我知道肯定不对啦,因为打印信息为Exceptionint...
我想单独测某个LoginUserService的功能,然后用下面代码返回student的一个实体,再得到name。我知道肯定不对啦,因为打印信息为
Exception in thread "main" java.lang.NullPointerException
at service.LoginUserService.studentLogin(LoginUserService.java:41)
at test.main(test.java:19)
所以要达到这样的目的应该怎么写?
public class test{
public static void main(String[] args) {
LoginUserService loginuserservice=new LoginUserService();
Student student = loginuserservice.studentLogin("2");
String name=student.getStuName();
System.out.println(name);
}
} 展开
Exception in thread "main" java.lang.NullPointerException
at service.LoginUserService.studentLogin(LoginUserService.java:41)
at test.main(test.java:19)
所以要达到这样的目的应该怎么写?
public class test{
public static void main(String[] args) {
LoginUserService loginuserservice=new LoginUserService();
Student student = loginuserservice.studentLogin("2");
String name=student.getStuName();
System.out.println(name);
}
} 展开
展开全部
给的代码太少,如果你用了ssh,那么LoginUserService loginuserservice=new LoginUserService()这样是不应该的,应该在spring的上下文中取得这个service组件。否则必然空指针。
至少最简单版的main方法应该是类似这样的:
ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] {"你的spring配置文件"});
LoginUserService s = (LoginUserService) ctx.getBean("LoginUserService定义的id");
然后你才能正常使用这个s。
如果你没有用spring,那看看你那个方法里的代码问题吧。
至少最简单版的main方法应该是类似这样的:
ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] {"你的spring配置文件"});
LoginUserService s = (LoginUserService) ctx.getBean("LoginUserService定义的id");
然后你才能正常使用这个s。
如果你没有用spring,那看看你那个方法里的代码问题吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询