Printemps de Données MongoDB: définir le référentiel de la collection?

comment puis-je spécifier la collection je veux que mon référentiel de?

Ma configuration:

<!-- Database -->
<mongo:mongo id="mongoDb" host="localhost" port="27017"/>
<mongo:db-factory id="mongoDbFactory" mongo-ref="mongoDb" dbname="test"/>

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>

<mongo:repositories base-package="de.cochu.springtest.mongodb.repositories"/>

Mon document:

@Document
public class User {

    @Id String id;
    @Indexed String email;

    ...getters and setters omitted...

}

le référentiel pour l'utilisateur-collection (qui est à l'intérieur de la ...mongodb.les référentiels de packages). J'ai prolongé de la CrudRepository:

public interface UserRepository extends CrudRepository<User, String>{
    User findByEmail(String email);
}

et enfin, un contrôleur de mon ressort de servlet dans lequel je veux utiliser le UserRepository:

@Controller
public class MyController {

    @Autowire UserRepository repo;

    @RequestMapping("/test.html")
    public String something(HttpServletRequest request) {
        User u = userRepository.findByEmail(request.getParameter("email"));
        ...
    }

}

J'ai mis en place quelques exemples des utilisateurs via la console, le mongoTemplate.getCollection (les"utilisateurs").count() fonctionne très bien. Le référentiel ne trouve rien.

... comment le UserRepository sais que je veux rechercher les utilisateurs dans la collection "les utilisateurs" ?/Est-ce la bonne façon d'utiliser les référentiels?

... Intellij IDEA ne reconnaît pas l'permettra à l'autowiring de la UserRepository. Bien qu'il affiche une erreur, il compile et lance pas d'exception. Est-il quelque chose que je peux faire à ce sujet?

OriginalL'auteur Eike Cochu | 2012-04-25