亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Micronaut 中 MapStruct 生成的類的 NoSuchBeanException

Micronaut 中 MapStruct 生成的類的 NoSuchBeanException

蕭十郎 2022-04-28 16:56:34
當使用 MapStruct 生成映射器實現時,使用“jsr330”componentModel,micronaut 將在運行時嘗試注入它們時拋出 NoSuchBeanException。一種解決方法是使用提供映射器對象的提供程序,但生成的代碼應該可以工作。映射器定義:@Mapper(componentModel = "jsr330")public interface FooBarMapper {    Foo toFoo(Bar bar);}控制器:@Controllerpublic class SomeController {    @Inject    public SomeController(FooBarMapper mapper) {    }    @Get    public String foo() {        return "foo";    }}pom.xml 摘錄:<annotationProcessorPaths>    <path>        <groupId>org.mapstruct</groupId>        <artifactId>mapstruct-processor</artifactId>        <version>${mapstruct.version}</version>    </path>    <path>        <groupId>io.micronaut</groupId>        <artifactId>micronaut-inject-java</artifactId>        <version>${micronaut.version}</version>    </path>    <path>        <groupId>io.micronaut.configuration</groupId>        <artifactId>micronaut-openapi</artifactId>        <version>${micronaut.version}</version>    </path></annotationProcessorPaths>在控制器上調用該方法時,我希望 Micronaut 找到 Mapstruct 生成的類(它用 @Singleton 注釋),但結果卻是消息:不存在 [com.example.FooBarMapper] 類型的 bean。確保該類被聲明為 bean,如果您使用的是 Java 或 Kotlin,請確保您已啟用注釋處理。采用的路徑:new SomeController([FooBarMapper mapper]) io.micronaut.context.exceptions.DependencyInjectionException:無法為類的參數 [mapper] 注入值:com.example.SomeController
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

我發現Micronaut PRjsr330應該使用組件模型解決 mapstruct 的問題。他們計劃將修復程序包含在1.1.0.

更新:如果解決了這個問題1.1.0.RC1


查看完整回答
反對 回復 2022-04-28
  • 1 回答
  • 0 關注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號