java - 如何从字符串中获取类名

标签 java

我正在使用 Spring Batch,因为我将类名作为参数传递给读者,因为我想将其设置为我的目标类名。有没有一种方法可以让我们从字符串中获取类名。我尝试使用反射因为我成功获得了该类。但我无法设置为我的目标类型类 下面是我的代码。

@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);
}

最佳答案

您在这一行犯了一个错误:

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

应该是:

reader.setTargetType(cls);

关于java - 如何从字符串中获取类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33256111/

相关文章:

java - session 超时后显示消息

java - 如何在 Struts 2 中提交特定的迭代器条目以执行操作

java - 你能以编程方式检测白噪声吗?

java - 有没有办法在 Intellij 中将 Standard In 设置为文件

java - 无法将值传递给 Java 中的 ArrayList

Java(字符串)——它有什么作用?

使用 openSSL 的 Java OCSP 客户端

java - 如何使 JRadioButton 在通过向 showMessageDialog 传递方法创建的弹出表单中具有焦点?

c# - RSA C# 加密 Java 解密

java - 如何在 Java 中向 MultiSplitPane 添加新的 Split(行)?