gpt4 book ai didi

java - 根据条件进行依赖注入(inject)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:04 25 4
gpt4 key购买 nike

我的 Controller :

@RestController
@RequestMapping("/mypath")
public class MyController {
@Autowired
MyServiceInterface service;

@PostMapping("/{source}")
void myControllerFunc(@PathVariable String source, @RequestBody MyObject obj) {
...
Object myServiceObj = service.myServiceFunc(param);
...
}
}

我的服务接口(interface):

public interface MyServiceInterface {

Object myServiceFunc(String param);

}

我的服务实现:

@Service    
public class MyServiceOne {

Object myServiceFunc(String param) {
...
}

}

@Service
public class MyServiceTwo {

void myServiceFunc(String param) {
...
}

}

我的 spring-boot 版本:1.5.7

我想根据我的路径变量 ("source") 注入(inject)服务。如果 source = one,则注入(inject) MyServiceOne,如果 source = two,则注入(inject) MyServiceTwo。

这可能吗?

最佳答案

听起来您需要这两个都可用,并且 Controller 上的每个方法调用都可以选择一个不同的方法。所以连接两个实现,用一个限定符来区分它们。在 Controller 方法中使用路径变量,让它以编程方式决定调用哪个服务。

关于java - 根据条件进行依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52635134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com