问个关于spring注解的问题 为什么测试类中不能用注解装配?
比如这是我的测试类publicclassTest{privateDaodao;privatePersonp;@AutowiredpublicvoidsetDao(Daod...
比如这是我的测试类
public class Test{
private Dao dao;
private Person p;
@Autowired
public void setDao(Dao dao){
this.dao=dao;
}
@Autowired
public void setP(Person p){
this.p=p;
}
public static void main(String[] args){
dao.save(p);
}
运行后会报错是空指针
为什么?autowired不是已经赋值了么?
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");已经加在了main方法的第一行 展开
public class Test{
private Dao dao;
private Person p;
@Autowired
public void setDao(Dao dao){
this.dao=dao;
}
@Autowired
public void setP(Person p){
this.p=p;
}
public static void main(String[] args){
dao.save(p);
}
运行后会报错是空指针
为什么?autowired不是已经赋值了么?
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");已经加在了main方法的第一行 展开
5个回答
展开全部
回答的什么乱码七糟的,测试类通常采用Junit测试,与tomcat无关,是两个运行环境,因为你采用注解,这时候需要加入spring配置文件,在你的测试类上加入注解
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/springMVC.xml")
就可以了,当然,我这里用的是springMVC,注解配置也在这里。你更改下你的就OK
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/springMVC.xml")
就可以了,当然,我这里用的是springMVC,注解配置也在这里。你更改下你的就OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-08-28
展开全部
测试类中使用注解装配需要采用spring整合junit4,在测试类上面加上@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/springContext.xml")注解,这样测试类中就可以使用注解装配。
@ContextConfiguration(locations = "classpath:spring/springContext.xml")注解,这样测试类中就可以使用注解装配。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以尝试着把TOMCAT启动一下,然后你再运行试试
追问
为什么要启动服务器
追答
尝试一下,看行不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询