IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Boot Java Discussion :

Application Spring Boot simpliste avec persistence autre qu'en mémoire


Sujet :

Spring Boot Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Par défaut Application Spring Boot simpliste avec persistence autre qu'en mémoire
    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 :

    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)
    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.

    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 !

  2. #2
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut,
    as-tu essayé de mettre les 2 dependances?
    Juste pour voir si ca marche.

    Eric

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Par défaut
    Bonne piste, ça passe et ça tape dans H2 quelque soit l'ordre de déclaration.
    J'en déduit qu'il lui manque quelque chose pour l'autoconfiguration des DS autres qu'embedded.

    Dans le rapport d'autoconfiguration, catégorie negative matches, j'ai particulièrement (si H2 n'est pas présent) :
    DataSourceAutoConfiguration.DbcpConfiguration
    - org.apache.commons.dbcp.BasicDataSource DataSource class not found (DataSourceAutoConfiguration.BasicDatabaseCondition)

    DataSourceAutoConfiguration.EmbeddedConfiguration
    - no embedded database detected (DataSourceAutoConfiguration.EmbeddedDatabaseCondition)

    DataSourceAutoConfiguration.JdbcTemplateConfiguration
    - no existing bean configured database (DataSourceAutoConfiguration.DatabaseCondition)

    DataSourceAutoConfiguration.TomcatConfiguration
    - no database driver (DataSourceAutoConfiguration.TomcatDatabaseCondition)
    Bonne piste, mais je ne vois rien dans la doc qui justifie que le driver ne soit pas chargé. De ce que j'ai pu en lire, Boot créé automatiquement un pool tomcat et une datasource à partir de mes infos de configuration.

  4. #4
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    as-tu mis le fichier de configuration de postgreSQL ? et dit a ton application ou il se trouvait?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    as-tu mis le fichier de configuration de postgreSQL ? et dit a ton application ou il se trouvait?
    Citation Envoyé par LeRiton Voir le message
    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.
    Tu parles d'autre chose ?

  6. #6
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    t´es sur que ce n´est pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @PropertySource("classpath:application.properties")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2013, 16h06
  2. Projet lancé avec une autre application..COMMENT?
    Par zentaf dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 11/04/2007, 09h57
  3. Mise à jour application avec persistence
    Par bubu56 dans le forum Persistance des données
    Réponses: 2
    Dernier message: 10/04/2007, 11h10
  4. [Question] Discussion avec d'autres applications
    Par Bleys dans le forum Delphi
    Réponses: 7
    Dernier message: 04/03/2007, 21h22
  5. [VB6]Interractions avec d'autres applications
    Par dbozec dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/11/2005, 19h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo