在Micronaut中MapStruct生成的类的NoSuchBeanException

时间:2019-01-10 20:57:46

标签: java mapstruct micronaut

在通过MapStruct使用“ jsr330” componentModel生成映射器实现时,micronaut在尝试注入那些时会在运行时抛出NoSuchBeanException。

一种解决方法是使用将提供映射器对象的提供程序,但是生成的代码应该起作用。

映射器定义:

.json

控制器:

</div>
<div class="startbutton">
    <img anima-src="./img/iphone---during-chat-btn 1@2x.png" class="btn-view" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="/>
    <div class="start">
        START
    </div>

pom.xml摘录:

@Mapper(componentModel = "jsr330")
public interface FooBarMapper {
    Foo toFoo(Bar bar);
}

在控制器上调用该方法时,我希望Micronaut找到Mapstruct生成的类(用@Singleton注释),但是结果是

消息:不存在[com.example.FooBarMapper]类型的bean。确保将该类声明为Bean,并且如果您使用Java或Kotlin,请确保已启用注释处理。 采取的路径:new SomeController([FooBarMapper mapper]) io.micronaut.context.exceptions.DependencyInjectionException:无法为类com.example.SomeController

的参数[mapper]注入值

0 个答案:

没有答案