Groovy 的 Nomin 映射器框架
Nomin Mapper Framework for Groovy
我正在为我的 Spring/Groovy 应用程序寻找映射框架。我发现 Nomin - 它看起来符合我的需要。但我有以下问题:它在我的测试中找不到我的映射规则脚本 class.
在src/main/groovy/mypackage/entity2entitydto.groovy:
import org.nomin.entity.*
mappingFor a: Entity, b: EntityDto
a.name = b.name
在src/test/groovy/mypackage/Entity2EntityDtoTest.groovy:
public class CoinMarketCap2CoinTest {
NominMapper nomin = new Nomin("entity2entitydto.groovy");
// also tried entity2entitydto, Entity2entitydto, Entity2entitydto.groovy
// also tried with full package name
// also tried File Name Entity2entitydto.groovy
@Test
public void test() {
// Testing ...
}
}
gradle clean build --stacktrace
后的结果
org.nomin.core.NominException: Specified resource entity2entitydto.groovy isn't found!
...
有人对与 groovy 配合良好的映射框架有任何想法或建议。提前致谢。
Nomin 抛出此异常,因为您的脚本不在 classpath 中。将您的 entity2entitydto.groovy
文件移动到 src/main/resources
,以便 Nomin 可以从 class 路径正确加载您的映射脚本。
其次,确保在映射脚本中导入正确的 classes。例如,如果我有 mypackage.Entity
和 mypackage.EntityDto
class 那么我可以像这样导入它们:
import mypackage.Entity
import mypackage.EntityDto
mappingFor a: Entity, b: EntityDto
a.name = b.name
相反,您必须使用完整的规范名称,例如:
mappingFor a: mypackage.Entity, b: mypackage.EntityDto
a.name = b.name
您还可以查看根据您的问题创建的这个非常基本和简单的示例 - https://github.com/wololock/nomin-example
希望对您有所帮助。
我正在为我的 Spring/Groovy 应用程序寻找映射框架。我发现 Nomin - 它看起来符合我的需要。但我有以下问题:它在我的测试中找不到我的映射规则脚本 class.
在src/main/groovy/mypackage/entity2entitydto.groovy:
import org.nomin.entity.*
mappingFor a: Entity, b: EntityDto
a.name = b.name
在src/test/groovy/mypackage/Entity2EntityDtoTest.groovy:
public class CoinMarketCap2CoinTest {
NominMapper nomin = new Nomin("entity2entitydto.groovy");
// also tried entity2entitydto, Entity2entitydto, Entity2entitydto.groovy
// also tried with full package name
// also tried File Name Entity2entitydto.groovy
@Test
public void test() {
// Testing ...
}
}
gradle clean build --stacktrace
org.nomin.core.NominException: Specified resource entity2entitydto.groovy isn't found!
...
有人对与 groovy 配合良好的映射框架有任何想法或建议。提前致谢。
Nomin 抛出此异常,因为您的脚本不在 classpath 中。将您的 entity2entitydto.groovy
文件移动到 src/main/resources
,以便 Nomin 可以从 class 路径正确加载您的映射脚本。
其次,确保在映射脚本中导入正确的 classes。例如,如果我有 mypackage.Entity
和 mypackage.EntityDto
class 那么我可以像这样导入它们:
import mypackage.Entity
import mypackage.EntityDto
mappingFor a: Entity, b: EntityDto
a.name = b.name
相反,您必须使用完整的规范名称,例如:
mappingFor a: mypackage.Entity, b: mypackage.EntityDto
a.name = b.name
您还可以查看根据您的问题创建的这个非常基本和简单的示例 - https://github.com/wololock/nomin-example
希望对您有所帮助。