Closed hexian closed 3 years ago
你改动的较多,不敢合并,我后续有时间看看。
貌似有部分类和方法缺少注释...
你改动的较多,不敢合并,我后续有时间看看。
因为测试代码和功能代码都提交了。
修改的类: src/main/java/com/blinkfox/fenix/config/FenixConfig.java 新增 dtoBasePackage 和 dtoAnnotation 字段, 新增getter/setter方法 src/main/java/com/blinkfox/fenix/config/FenixConfigManager.java 新增方法 scanDtoAndRegisterConverts 及其调用 src/main/java/com/blinkfox/fenix/jpa/FenixJpaQuery.java
新增的类: src/main/java/com/blinkfox/fenix/helper/ClassScannerHelper.java 抄的spring自带的类扫描工具 src/main/java/com/blinkfox/fenix/helper/FenixScanDtoHelper.java 简单包装 ClassScannerHelper src/main/java/com/blinkfox/fenix/jpa/annotation/JpaDto.java 默认自定义注解 @JpaDto 可以在配置文件中指定自定义注解进行替换 src/main/java/com/blinkfox/fenix/jpa/convert/GenericConvert.java Spring的类型转换工具,实现Map到有@JpaDto注解的类的类型转换(基于内省, 不是反射字段)
测试类: src/test/java/com/blinkfox/fenix/dto/UserDto.java src/test/java/com/blinkfox/fenix/repository/UserRepository.java 新增方法 queryUserDtoListByName src/test/java/com/blinkfox/fenix/repository/UserRepositoryTest.java 新增测试方法 queryUserDtoListByName() src/test/resources/my/dir/xml/other-dir.xml 新增测试标签 <fenix id="queryUserDtoListByName" removeIfExist="1 = 1 AND " >
貌似有部分类和方法缺少注释...
哦哦, 主要扩展点是:DefaultConversionService.getSharedInstance(); 这个类型转换器
先合并了,后续我会仔细看看,有些不合适的,可能会改一些代码
先合并了,后续我会仔细看看,有些不合适的,可能会改一些代码
好的。
新增通用类型转换器可以与 fenix 标签的 resultType 共存
在 application.yml 中配置: fenix: dtoAnnotation: com.blinkfox.fenix.jpa.annotation.JpaDto # 指定自定义注解 dtoBasePackage: com.blinkfox.fenix.dto. # 指定DTO的base包
测试方法:com.blinkfox.fenix.repository.UserRepositoryTest#queryUserDtoListByName