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 Web Java Discussion :

spring data jpa autowired retourne null


Sujet :

Spring Web Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut spring data jpa autowired retourne null
    J''essaye de tourner un exmple avec maven, spring data jpa, spring-web mvn, hibernate , rest web service et mysql database. J'ai définit mon interface et j'essaye de faire @autowired, mais une exception NullPointerException:null.
    webconfig.java
    Code : 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
    @Configuration
    @ComponentScan(basePackages = { "com.myqiservices.reporting.ui", }, excludeFilters = { @Filter(Configuration.class) })
    @EnableTransactionManagement
    @EnableWebMvc
    public class WebConfig extends WebMvcConfigurerAdapter {
        @Resource(mappedName = "jdbc/jdbc")
        private DataSource dataSource;
     
        @Bean
        public DataSource dataSource() {
            return dataSource;
        }
        @Bean
        public UserRepository userRepository() {
            return new UserService().getUserRepository();
        }
    UserService.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    @Service
    public class UserService {
     
        @Autowired
        private UserRepository userRepository;
     
        public UserRepository getUserRepository() {
            return userRepository;
        }
     
        public void setUserRepository(UserRepository userRepository) {
            this.userRepository = userRepository;
        }
     
    }
    UserRepository.java existe dans un autre module maven ( jpa)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public interface UserRepository extends JpaRepository<User, Integer> {
     
        public User findByLogin(String login);
     
        public List<User> findAll();
    }
    RestService.java
    Code : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    @RestController
    @RequestMapping("/setup")
    @Transactional
    public classRestService {
     
        private static final Logger logger = LoggerFactory.getLogger(SetupRestService.class);
        @Autowired
        private SessionHelper sessionHelper;
     
        private String bundleName;
     
        @Autowired
        private UserService userService;
     
     
        @RequestMapping(value = "/userContext", method = RequestMethod.GET)
        public UserContextDto getUserContext(HttpServletRequest request) {
            String currentUserLogin = sessionHelper.getLogin();
     
            // Lookup user in DB
            logger.info("----------------Users list size()------------------userService["+userService+"]-----------------------userService.getUserRepository():"
                    + userService.getUserRepository());
            List<User> users = userService.getUserRepository().findAll();
            User u = userService.getUserRepository().findOne(1);
            logger.info("----------------Users list size()-----------------------------------------");
            logger.info("-----------------------------------------------------------------------" + users.size());
            logger.info("-----------------------------------------------------------------------" + u);
            // TODO Convert user entity to user DTO
     
            User userDto = new User();
     
            UserContextDto userContext = new UserContextDto();
            userContext.setUser(userDto);
     
     
            return userContext;
        }
    je me bloque vraiment, j'ai pas trouvé pourquoi me retourne null.
    merci d'avance

  2. #2
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut
    dans mon UserRepository interface , j'ai ajouté le query et ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Query(value = "SELECT * FROM USER u ", nativeQuery = true)
    public List<User> findAll();

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2015
    Messages : 53
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par j_esti Voir le message
    dans mon UserRepository interface , j'ai ajouté le query et ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Query(value = "SELECT * FROM USER u ", nativeQuery = true)
    public List<User> findAll();
    au lieu d'écrire tes propres requête tu sais que dans ton interface tu peux faire que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public interface UserRepository extends JpaRepository<User, Long>{
     
    }
    et que tu auras accès à de nombreuses méthode?

    tu peux même définir les tiennes

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

Discussions similaires

  1. The Persistence Layer with Spring Data JPA
    Par flamant dans le forum JPA
    Réponses: 0
    Dernier message: 11/04/2015, 20h35
  2. [Primefaces] Spring - Data - JPA
    Par tifsa dans le forum JSF
    Réponses: 2
    Dernier message: 29/03/2015, 17h05
  3. Réponses: 0
    Dernier message: 31/07/2013, 11h56
  4. [Spring data JPA] - Persister des objets managed et detached
    Par DevForFun dans le forum Persistance des données
    Réponses: 1
    Dernier message: 15/06/2013, 14h15

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