【问题标题】:Writing Generic Code in Java用 Java 编写通用代码
【发布时间】:2016-07-27 15:31:01
【问题描述】:

我有以下类结构:

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

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

我需要在另一个类中自动装配该类,这里的问题是我必须自动装配很多 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);
    }
}

每次我需要新的映射器并且我讨厌它时,我都会复制大量代码来编写新的字段集映射器。谁能给我推荐一个更聪明/更好的代码?

【问题讨论】:

    标签: java spring generics autowired generic-programming


    【解决方案1】:

    我不明白你所说的“自动接线”是什么意思。 但是既然你说你想写泛型类——那就去做吧:

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

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

    【讨论】:

    • 他在问DI的机制,“自动装配”是spring用来做DI的手段,类似于@inject。更多信息在这里:stackoverflow.com/questions/4997836/…
    • 好吧,我想我不明白你的问题,这个答案不会有太大帮助。相当准确的评估,哈哈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2018-09-17
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 2015-10-16
    相关资源
    最近更新 更多