608152513.png
SpEL概念
SpEL全稱(chēng)為“Spring Expression Language”模暗,簡(jiǎn)寫(xiě)為“SpEL”禁悠,Spring表達(dá)式語(yǔ)言。這里不多做介紹汰蓉,請(qǐng)參考如下spring 官方文檔:https://docs.spring.io/spring/docs/3.0.x/reference/expressions.html
1.動(dòng)態(tài)mongo collection
@Document(collection = "t_login_log_#{@tenantProvider.get()}")
public class LoginLog extends BaseDomain{
public String userId;
public String userName;
//登陸設(shè)備:chrome绷蹲,safari,firefox,android,ios...
public String device;
//app或者web
public String type;
}
TenantProvider
@Component("tenantProvider")
public class TenantProvider {
private final ThreadLocal<String> holder= new ThreadLocal<>();
public String get(){
return holder.get();
}
public void set(String tenantId){
if(tenantId==null){
throw new RuntimeException("tenantId not null.");
}
holder.set(tenantId);
}
public void clear(){
holder.remove();
}
}
2.mongo數(shù)據(jù)源配置
@Configuration
public class MongoConfig {
@Value("${mongodb.uri}")
private String mongoURI;
@Bean
public MongoDbFactory mongoDbFactory() throws UnknownHostException {
MongoClientURI mongoClientURI= new MongoClientURI(mongoURI);
return new SimpleMongoDbFactory(mongoClientURI);
}
}
3.配置application.properties
server.port= 9900
spring.application.name=service-log
mongodb.uri=mongodb://log:123456@10.0.0.222:27017/log