junit测试报错NoSuchBeanDefinitionException:No bean named 'productService'isdefined
org.springframework.beans.factory.NoSuchBeanDefinitionException:Nobeannamed'productSe...
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'productService' is defined at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387) at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:968) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:246) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
展开
1个回答
展开全部
找不到“productService”这个bean,检查下你的applicationContext.xml文件是否配置了这个bean,使用注解的话检查这个类是否加了注解。
顺便提一下,你用junit测试,如果第一个对象(如action对象)是手动new的话,那么如果对象中引用其他的对象则也必须手动new,即如果你是手动new一个action对象,然后你再action中引用了service,那么你必须手动new一个service对象,spring是不能帮你自动注入的
顺便提一下,你用junit测试,如果第一个对象(如action对象)是手动new的话,那么如果对象中引用其他的对象则也必须手动new,即如果你是手动new一个action对象,然后你再action中引用了service,那么你必须手动new一个service对象,spring是不能帮你自动注入的
更多追问追答
追问
是通过注解方式的,类也加了注解@Service@Transactional
public class ProductServiceBean implements ProductService {}
junit:ProductService productService = (ProductService) cxt.getBean("productServiceBean");
追答
@Service("productServiceBean")试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询