Det här är en riktigt gammal tråd, men jag kommer att lägga till lite bättre information här ifall någon annan hittar den här diskussionen, eftersom saker och ting är lite mer flexibla än vad det accepterade svaret hävdar.
Du kan använda ett uttryck för samlingsnamnet eftersom spel är ett acceptabelt sätt att lösa samlingsnamnet. Till exempel, om du har en egenskap i filen application.properties så här:
mongo.collection.name = my_docs
Och om du skapar en springböna för den här egenskapen i din konfigurationsklass så här:
@Bean("myDocumentCollection")
public String mongoCollectionName(@Value("${mongo.collection.name}") final String collectionName) {
return collectionName
}
Sedan kan du använda det som samlingsnamn för en beständighetsdokumentmodell så här:
@Document(collection = "#{@myDocumentCollection}")
public class SomeModel {
@Id
private String id;
// other members and accessors/mutators
// omitted for brevity
}