0
我正在将一个工作项目从Spring3迁移到Spring4,我只更改了pom.xml
,现在(部署时)应用程序在运行时无法找到我的映射器的任何bean 。奇怪的是,我所有的集成和单元测试仍然有效。 (我在那里测试我的映射器)Spring3到Spring4的迁移,没有找到依赖关系的DtoMapper类型的合格bean
我检查了@Component("languagesDtoMapper")
和@Qualifier("languagesDtoMapper")
的多种可能组合。 我试图在我的Spring配置文件来声明豆
<bean id="languagesDtoMapper" class="com.project.mapper.LanguagesDtoMapper"/>
但无论我做什么,我不断收到以下错误信息:
:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.project.infrastructure.dtomapper.DtoMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=languagesDtoMapper)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
项目的结构在控制器中:
@Autowired
@Qualifier("languagesDtoMapper")
private DtoMapper<Languages, LanguagesTableDto> partnerLanguageDtoMapper;
类:
@Component("languagesDtoMapper")
public class LanguagesDtoMapper extends AbstractDtoMapper<Languages, LanguagesDto> {
public abstract class AbstractDtoMapper<Source, Target> implements DtoMapper<Source, Target> {
public interface DtoMapper<Source, Target> {
<context:annotation-config />
<context:component-scan base-package="com.project"/>
任何想法,欢迎
请使用多行代码块来正确格式化您的代码。 – Clijsters
您是否使用XML配置或Java/Annotation配置进行组件扫描?你能否也请附上它? – araknoid