java - 用 Java 编写通用代码

标签 java spring generics autowired generic-programming

我有以下类结构:

public class MyClass {}
public class AnotherClass {}
public class YetAnotherClass {}

@Component
public class MyFieldSetMapper extends BeanWrapperFieldSetMapper<MyClass>{
    public MyFieldSetMapper() {
        setTargetType(MyClass.class);
    }
}

并且我需要在另一个类中 Autowiring 该类,这里的问题是我必须 Autowiring 很多 MyFieldSetMapper 类型,即

@Component
public class AnotherFieldSetMapper extends BeanWrapperFieldSetMapper<AnotherClass>{
    public AnotherFieldSetMapper() {
        setTargetType(AnotherClass.class);
    }
}

对于另一个 FieldSetMapperClass,我必须点此:

@Component
public class YetAnotherFieldSetMapper extends BeanWrapperFieldSetMapper<YetAnotherClass>{
    public AnotherFieldSetMapper1() {
        setTargetType(YetAnotherClass.class);
    }
}

每次我需要新的映射器并且我讨厌它时,我都会复制大量代码来编写新的字段集映射器。有人可以建议我一个更智能/更好的代码吗?

最佳答案

我不明白你所说的“ Autowiring ”是什么意思。 但既然你说你想编写泛型类 - 那就去做吧:

public class MyClass<T, U>{
    T foo;
    U bar;
}

嗯,我想我不明白你的问题,这个答案不会有太大帮助。

关于java - 用 Java 编写通用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617373/

相关文章:

java - Java 中的 'ClassName.class' 与 Kotlin 中的 '[ClassName::class]' 相同吗?

java - 如何从 Guice Injector 获取所有单例实例?

java - 创建名为“org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator#0”的bean时出错?

java - 将 Spark DataFrame 转换为 Pojo 对象

Java FX 为什么我应该使用 SimpleProperties 而不仅仅是普通的 native 变量?

java - Spring Security 验证 sessionId

java - 如何使用 Jackson 和 Spring 的模块设置对象映射器

java - Mockito 接口(interface)方法冲突

generics - Swift:使用通配符作为泛型类型参数

java - 如果方法返回接口(interface),则返回什么?