Tienes razón, quieres usar perfiles.
@Bean( name = "customerRepository" )
@Profile( "jpa")
CrudRepository getCustomerRepository()
{
return _customerRepository;
}
@Bean( name = "customerRepository" )
@Profile( "mongo")
MongoRepository getCustomerRepositoryMongo()
{
return _customerRepositoryMongo;
}
@Autowired
@Qualifier("customerRepository")
CrudRepository _crudRepository;
En application.properties, ahora puede configurar spring.profiles.active a jpa o mongo para cambiar entre bases de datos.