【发布时间】:2013-11-17 10:24:06
【问题描述】:
这与 MongoDB and SpEL Expressions in @Document annotations
这就是我创建 mongo 模板的方式
@Bean
public MongoDbFactory mongoDbFactory() throws UnknownHostException {
String dbname = getCustid();
return new SimpleMongoDbFactory(new MongoClient("localhost"), "mydb");
}
@Bean
MongoTemplate mongoTemplate() throws UnknownHostException {
MappingMongoConverter converter =
new MappingMongoConverter(mongoDbFactory(), new MongoMappingContext());
return new MongoTemplate(mongoDbFactory(), converter);
}
我有一个租户提供者类
@Component("tenantProvider")
public class TenantProvider {
public String getTenantId() {
--custome Thread local logic for getting a name
}
}
还有我的域类
@Document(collection = "#{@tenantProvider.getTenantId()}_device")
public class Device {
-- my fields here
}
如您所见,我已按照帖子中的说明创建了我的 mongotemplate,但我仍然收到以下错误
线程“main”中的异常 org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): 上下文中没有注册 bean 解析器来解析对 bean 'tenantProvider' 的访问
我做错了什么?
【问题讨论】:
-
任何帮助将不胜感激
标签: java spring mongodb spring-data-mongodb spring-el