请教大家一个问题 spring 的 Controller 里我如果想根据前端发过来的请求参数注入不同的 Service 实现 这个该怎么做呢?就是有这样一个场景 我们的广告系统对接有很多广告商,广告商是会不定期增加的,每一个广告商一个 Service 实现,有一个公共 Service 接口,在前端发过来的请求中有几个特殊的参数,拿着这几个参数去 mongo 库里查出来这个请求应当走哪个广告商提供的服务。现在我想实现在 Controller 里动态的注入广告商的 Service 也就是根据前端请求参数查询 mongo 得到当前请求需要注入哪个 Service 实现。这种注入应该怎么做呢,除了加一层用于分发到具体 Service 得 dispatcherService 还有没有别的能给直接动态 Autowired 得注入方式呢?另外,我想到是不是可以用 org.springframework.beans.factory.FactoryBean 。但是,后来想了想 org.springframework.beans.factory.FactoryBean 里面怎么接收 Controller 接过来的前端请求呢,而且每次请求都要产生不同的 bean 不知道行不行?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
可以。
spring依赖注入知的三种实现形式分别为:
1、 接口注入
2、 设置注入
3.构造子函数注入
接口注入:而接口注入则更方便道动态注入。简单的说,接口注入就是在运专行期,加载接口实现并创建其实例的工作由容器完成。如下例子:
public class ClassA {
private InterfaceB clzB;
public Object doSomething(InterfaceB b) {
clzB = b;
return clzB.doIt();
}
……
}
在运行期,InterfaceB实例将由spring容器提供。而spingIOC概念的提出也是把动属态注入在spring体现了。