spring3 mybatis 环境,dao无法注入,百思不得其解啊。。求大神指点。。。

一个不正经的程序员 发布于 2013/10/10 11:24
阅读 716
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

工程环境是spring3+mybatis,是maven工程。目前的情况是,我有1个主工程,且称作为A工程,另外我抽了一个小工程出来,称之为B工程,现在我需要在A工程调用B工程的方法,我再A工程的类里面调用了B中的某个BO类的方法,在B工程的BO类里面注入dao,结果死活这个dao注入不了。另外,由于是maven工程,我是把B工程打成jar,然后再A中的pom中引入的这个jar。求大神指点一二,到底是咋回事???是mybatis的配置有误?还是其他原因呢??spring的核心文件也配置了相关扫描,注解,以及mybatis的扫描。

错误:

Caused by: 
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.dsp.bg.percore.biz.dao.PermissionMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:793)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
大致意思就是找不到这个dao,我凌乱了。。。求大神指点


加载中
0
一个不正经的程序员
一个不正经的程序员
  1. 问题已解决。原因是:eclipse打包需要勾选<Add directory entries>,勾选后,spring的 context:component-scan扫描才能扫到。


0
戴威
戴威
你有引入b工程的spring配置文件吗?
戴威
戴威
回复 @谭书记 : 用maven打包
一个不正经的程序员
一个不正经的程序员
回复 @戴威 : 什么意思呢??
戴威
戴威
回复 @谭书记 : 你让maven运行pom文件,然后再试试。
一个不正经的程序员
一个不正经的程序员
我以前的是普通的web工程,直接bulid path中引入project(b)就行了。现在换成maven,只好用jar的形式,但是不知道什么地方没配对,找不到dao
一个不正经的程序员
一个不正经的程序员
a中配了b工程的dao的xml。
下一页
返回顶部
顶部