Aquí hay un enlace a un artículo que creo que es lo que está buscando http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/
La clave es proporcionar varias plantillas
configure una plantilla para cada base de datos.
<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoConnection"/>
<constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>
configure una plantilla para cada base de datos.
<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>
Ahora, debe decirle a Spring dónde están sus repositorios para que pueda inyectarlos. Todos deben estar en el mismo directorio. Intenté tenerlos en diferentes subdirectorios y no funcionó correctamente. Así que están todos en el directorio del repositorio.
<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>
Cada repositorio es una interfaz y está escrito de la siguiente manera (sí, puedes dejarlos en blanco):
@Repository
public interface ImageRepository extends MongoRepository<Image, String> {
}
@Repository
public interface TruckRepository extends MongoRepository<Truck, String> {
}
El nombre de la variable privada imageRepository
es la colección! Imagen.java se guardará en la colección de imágenes dentro de la base de datos imagedb.
Así es como puede encontrar , insertar y eliminar registros:
@Service
public class ImageService {
@Autowired
private ImageRepository imageRepository;
}
Mediante Autowiring, hace coincidir el nombre de la variable con el nombre (id) en su configuración.