spring - 如何自动连接接受两个字符串的类的构造函数
问题描述
我一直在试图弄清楚如何自动连接接受两个字符串的类的构造函数。现在这就是我所拥有的。
这是课程:
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
}
}
但我被困在这部分。变量isbn
和environment
将来自具有两个请求参数isbn
和的控制器environment
。有点像这样:
@Controller
public class ContentController {
@Autowired
Indexer index;
public void reindex(String isbn, String environment) {
index.somefunction();
}
}
解决方案
它不是这样工作的,在应用程序启动时会自动装配,而您正在尝试在应用程序运行时自动装配。
虽然不清楚谁调用public void reindex(String isbn, String environment)
方法。也许您应该重写索引器,以便它可以获取isbn
和environment
作为参数:
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);
}
}
推荐阅读
- java - 使用 WebClient 和 Reactor 3.0 进行递归 API 调用
- spring-annotations - 使@RequestBody 对象中的一个字段具有默认值
- spring-webflux - 无法访问 webflux/webclient 中的表单数据
- c++ - 为什么断言在链接阶段失败?
- android - 多视图模式下的应用程序布局缩小
- excel - 完全清除工作簿大小为 5 MB
- r - 使用日期向量获取直方图
- gitlab - Gitlab中的命名空间/子域不起作用
- javascript - 循环未在所有 JSON 数据集上迭代
- python - 具有无头模式的docker容器中的python selenium + geckodriver无法滚动页面