Voici un lien vers un article qui, je pense, correspond à ce que vous recherchez http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/
La clé est de fournir plusieurs modèles
configurer un modèle pour chaque base de données.
<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoConnection"/>
<constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>
configurer un modèle pour chaque base de données.
<bean id="imageTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoConnection"/>
<constructor-arg name="databaseName" value="imagedatabase"/>
</bean>
<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoConnection"/>
<constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>
Maintenant, vous devez indiquer à Spring où se trouvent vos référentiels afin qu'il puisse les injecter. Ils doivent tous se trouver dans le même répertoire. J'ai essayé de les avoir dans différents sous-répertoires, et cela n'a pas fonctionné correctement. Ils sont donc tous dans le répertoire du référentiel.
<mongo:repositories base-package="my.package.repository">
<mongo:repository id="imageRepository" mongo-template-ref="imageTemplate"/>
<mongo:repository id="carRepository" mongo-template-ref="vehicleTemplate"/>
<mongo:repository id="truckRepository" mongo-template-ref="vehicleTemplate"/>
</mongo:repositories>
Chaque référentiel est une interface et s'écrit comme suit (oui, vous pouvez les laisser vides) :
@Repository
public interface ImageRepository extends MongoRepository<Image, String> {
}
@Repository
public interface TruckRepository extends MongoRepository<Truck, String> {
}
Le nom de la variable privée imageRepository
est la collection! Image.java sera enregistré dans la collection d'images de la base de données imagedb.
Voici comment vous pouvez trouver , insérer , et supprimer enregistrements :
@Service
public class ImageService {
@Autowired
private ImageRepository imageRepository;
}
En autowiring, vous faites correspondre le nom de la variable au nom (id) dans votre configuration.