Spring Data MongoDB Proguard:无法为嵌入式pojo创建bean

时间:2018-08-20 06:59:56

标签: spring spring-data proguard obfuscation spring-data-mongodb

我们正试图混淆pojos。

为此,我们正在使用proguard插件。

可嵌入的pojo:

 @Embeddable
    @Component("ElementId")
    public class ElementId {


        @Field("Description")
        private String description;



        public String getDescription() {
            return description;
        }
        public void setDescription(String description) {
            this.description = description;
        }

    }

主Pojo:

@Entity(kind = "MainPojo")
@Component("MainPojo")
public class MainPojo{


  @Embedded
  @Field("elementId")
  protected ElementId elementId;


  ///setter and getter

  }

Spring数据MongoDB查询

  

PinNumber findByElementIdDescription(String d);

在没有混淆的情况下它可以正常工作,但是当我们试图对其进行混淆时,有些人无法考虑嵌入式的pojos和字段。

例外:

  

异常:创建名称为' Service'的bean时出错:不满意   通过字段“ a”表示的依赖关系;嵌套异常为   org.springframework.beans.factory.UnsatisfiedDependencyException:   创建名称为“ ** Service”的bean时出错:不满意的依赖关系   通过字段“ a”表示;嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   创建名称为“ I 存储库”的bean:调用init方法   失败嵌套异常为   org.springframework.data.mapping.PropertyReferenceException:否   找到类型MainPojo的属性elementIdDescription!

尝试:

  1. 尝试使用@field和@jsonproperty注释定义字段
  2. 尝试定义嵌入式pojo的字段名称,例如class + field 例如@Field(elementIdDescription)

有人可以建议我们做些什么,以便容器可以读取嵌入式的pojos字段。

0 个答案:

没有答案