如何从String

时间:2015-10-21 09:52:36

标签: java

我正在使用spring batch,因为我将类名作为参数传递给reader,因为我希望将其设置为我的目标类名。我们可以从String获取类名。我尝试使用反射因为我成功地获得了该类。但是我无法将其设置为我的目标类型类 下面是我的代码。

@Bean(name = "jMongoReader")
@StepScope
public MongoItemReader<Object> jsonDataReader(@Value("#{jobParameters[name]}") String className) {

    try {

        Class cls= Class.forName(className);
        reader.setTemplate(mongoConfig.getMongoTemplate());
        reader.setCollection("employeeInfo");
        reader.setTargetType((Class<? extends className>) className.class);
        reader.setQuery("{}");
        Map<String, Direction> sorts = new HashMap<String, Sort.Direction>(1);
        sorts.put("_id", Sort.Direction.ASC);
        reader.setSort(sorts);
        reader.setFields(keys);
}

1 个答案:

答案 0 :(得分:1)

你在这一行上犯了一个错误:

reader.setTargetType((Class<? extends className>) className.class);

应该是:

reader.setTargetType(cls);