Her er et link til en artikel, som jeg tror er det, du leder efter http://michaelbarnesjr.wordpress.com/2012/01/19/spring-data-mongo/
Nøglen er at levere flere skabeloner
konfigurere en skabelon for hver database.
<bean id="vehicleTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongoConnection"/>
<constructor-arg name="databaseName" value="vehicledatabase"/>
</bean>
konfigurere en skabelon for hver database.
<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>
Nu skal du fortælle Spring, hvor dine depoter er, så den kan injicere dem. De skal alle være i samme mappe. Jeg forsøgte at have dem i forskellige undermapper, og det fungerede ikke korrekt. Så de er alle i depotbiblioteket.
<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>
Hvert lager er en grænseflade og er skrevet som følger (ja, du kan lade dem være tomme):
@Repository
public interface ImageRepository extends MongoRepository<Image, String> {
}
@Repository
public interface TruckRepository extends MongoRepository<Truck, String> {
}
Navnet på den private variabel imageRepository
er samlingen! Image.java vil blive gemt i billedsamlingen i imagedb-databasen.
Sådan kan du finde , indsæt , og slet optegnelser:
@Service
public class ImageService {
@Autowired
private ImageRepository imageRepository;
}
Ved Autowiring matcher du variabelnavnet med navnet (id) i din konfiguration.