问个关于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方法的第一行
展开
 我来答
菜鸟程序员的成长之路
推荐于2017-10-09 · 专注基础,才能成为大神
菜鸟程序员的成长之路
采纳数:150 获赞数:345

向TA提问 私信TA
展开全部
main调用的时候不能通过
@Autowired

来进行注解,因为你没有启动项目,相当于你注入的东西没有没有被使用,使用main方法使用的话,必须使用getbean
追问
为什么要启动项目才能注入
追答
只有启动项目才能加载配置文件,才能自动注入,才能找到响应的bean
中国青春心
2012-11-29 · TA获得超过4637个赞
知道小有建树答主
回答量:1966
采纳率:83%
帮助的人:566万
展开全部
回答的什么乱码七糟的,测试类通常采用Junit测试,与tomcat无关,是两个运行环境,因为你采用注解,这时候需要加入spring配置文件,在你的测试类上加入注解
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/springMVC.xml")
就可以了,当然,我这里用的是springMVC,注解配置也在这里。你更改下你的就OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-08-28
展开全部
测试类中使用注解装配需要采用spring整合junit4,在测试类上面加上@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/springContext.xml")注解,这样测试类中就可以使用注解装配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
19yl
2012-11-27 · TA获得超过477个赞
知道小有建树答主
回答量:729
采纳率:100%
帮助的人:235万
展开全部
可以尝试着把TOMCAT启动一下,然后你再运行试试
追问
为什么要启动服务器
追答
尝试一下,看行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
给你的安然
2019-11-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
没有扫描注解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式