Bonjour à tous,
Je cale cette discussion dans la catégorie Tools, j'ai rien trouvé de plus adapté pour Boot. Faites moi savoir si ça ne convient pas.
La question est du niveau tuto de grand débutant, j'utilise Spring 4 conjointement avec Boot (spring-boot-starter-parent 1.0.0.RC3) pour une webapp basique (la question demeurerais sans la partir web je pense).
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring4</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.3.174</version> <scope>runtime</scope> </dependency>
Jusqu'ici tout va bien, les infos sont persistées en mémoire. Maintenant si je remplace le driver H2 par celui de Postgres :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.2-1003-jdbc4</version> <scope>runtime</scope> </dependency>
J'obtiens cette exception lors du démarrage de Spring :
La conf de cette DB est appellée par mon application.yml (à la racine de mon répertoire resources), ajouter PropertySource("classpath:application.yml") à mon application ne change rien.org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [my.package.Repository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionExcept ion(DefaultListableBeanFactory.java:1100)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultList ableBeanFactory.java:960)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListab leBeanFactory.java:855)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElem ent.inject(AutowiredAnnotationBeanPostProcessor.ja va:480)
Par ailleurs, ma classe application a @Configuration, @ComponentScan, @EnableAutoConfiguration. Le repository évoqué dans l'exception ([my.package.Repository]) est autowired sur un contrôleur tout ce qu'il y a de plus basique.
J'imagine que c'est tout bête d'autant que les quelques tutos que j'ai pu trouver à ce sujet n'en disent pas plus, mais je n'avance pas.
Si d'ailleurs vous avez de la doc à proposer sur le sujet (autre que sur le site Spring et le Wiki GitHub), je suis preneur.
Merci d'avance !
Partager