首页 > 解决方案 > 如何自动连接接受两个字符串的类的构造函数

问题描述

我一直在试图弄清楚如何自动连接接受两个字符串的类的构造函数。现在这就是我所拥有的。

这是课程:

public class Indexer {

    private String isbn;
    private String environment;

    //Getters and Setters here...

    @Autowired
    public Indexer(String isbn, String environment) {
        this.isbn = isbn;
        this.environment = environment;
    }
}

然后这是配置类

@Configuration
public class Config {

    @Bean
    public Indexer indexer() {
        //dunno what to do
    }
}

但我被困在这部分。变量isbnenvironment将来自具有两个请求参数isbn和的控制器environment。有点像这样:

@Controller
public class ContentController {

    @Autowired
    Indexer index;

    public void reindex(String isbn, String environment) {
        index.somefunction();
    }
}

标签: springspring-bootautowired

解决方案


它不是这样工作的,在应用程序启动时会自动装配,而您正在尝试在应用程序运行时自动装配。

虽然不清楚谁调用public void reindex(String isbn, String environment)方法。也许您应该重写索引器,以便它可以获取isbnenvironment作为参数:

class Indexer {
    public void someFunction(String isbn, String envrionment) {
       ...
    }
}

class ContentController {
   @Autowired Indexer indexer;

    public void reindex(String isbn, String environment) {
        index.somefunction(isbn, environment);
    }
}

推荐阅读