0

Я создал весеннюю загрузку данных jpa-приложения, используя gradle's, и моя структура проекта выглядит, как показано ниже.Я не могу запустить весеннюю загрузку

com.duregesh

--TestSpringBootDataJpaApplication.java 

com.durgesh.controller

--UserController.java 

com.durgesh.model

--User.java 

com.durgesh.repositories

--UserJpaRepository.java 

com.durgesh.services

--UserServiceImpl.java 

когда я подножка ботинок пружинный ниже исключения стрельбы Описание:

поле userJpaRepository в ком .durgesh.services.UserServiceImpl требовал, чтобы bean с именем 'emf' не мог быть найден.

Действие: Рассмотрите определение компонента, названного emf, в вашей конфигурации.


@SpringBootApplication 
public class TestSpringBootDataJpaApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(TestSpringBootDataJpaApplication.class, args); 
    } 
------------- 
public interface UserJpaRepository extends JpaRepository<User, Long> {} 
------------- 
@Entity 
@Table(name = "USER") 
public class User implements Serializable{ 
     @Id 
     private Long id; 
     @Column(unique = true) 
     private String uid; 
     private String password; 
     public Long getId() { 
      return id; 
     } 
     public void setId(Long id) { 
      this.id = id; 
     } 
     public String getUid() { 
      return uid; 
     } 
     public void setUid(String uid) { 
      this.uid = uid; 
     } 
     public String getPassword() { 
      return password; 
     } 
     public void setPassword(String password) { 
      this.password = password; 
     } 
     } 
---------------- 
@Service 
@EnableJpaRepositories(basePackages="com.construction.de.*", entityManagerFactoryRef="emf") 
public class UserServiceImpl implements UserService { 
    @Autowired 
    private UserJpaRepository userJpaRepository; 
    @Override 
    public User add(final User user) { 
     return userJpaRepository.save(user); 
    } 
    @Override 
    public User findById(final Long id) { 
     final User user = userJpaRepository.findOne(id); 
      return user; 
    } 
} 
---- 
@RestController 
@RequestMapping("/user") 
public class UserController { 
    @Autowired 
    private UserService userService; 
    @RequestMapping(value ="/",method = RequestMethod.POST) 
    public User add(@RequestBody final User user){ 
     return userService.add(user); 
    } 
    @RequestMapping(value ="/{id}",method = RequestMethod.GET) 
    public User findById(@PathVariable("id") final Long id){ 
     return userService.findById(id);   
    } 
} 
+0

Если я usring UserJpaRepository.java непосредственно в UserController.java работает отлично – Raj

+0

@SpringBootApplication общественного класса TestSpringBootDataJpaApplication { \t государственной статической силы основных (String [] арг) { \t \t SpringApplication.run (TestSpringBootDataJpaApplication.class, args); \t} – Raj

+0

как вы настроили весну! .. Кажется, проблема в конфигурации боба. у вас есть любой bean с именем emf, который может быть вашим EntityManagerFactory. Как вы связали это с вашим dao – Sagar

ответ

0

Проблема с конфигурацией базы данных entityManager, для которых необходимо выполнить следующие шаги:

(1) Обеспечить @EnableJpaRepositories к классу приложений, как показано ниже (удалить его из эксплуатации).

@SpringBootApplication 
@EnableJpaRepositories(basePackages="com.duregesh.*") 
public class TestSpringBootDataJpaApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(TestSpringBootDataJpaApplication.class, args); 
} 

(2) Обеспечить ваши драйвера и подключения свойства базы данных сконфигурировано в application.properties (под src/main/resources в затмении или WEB-INF/classes папку сервера), как показано ниже:

spring.datasource.url: YOUR_DB_URL 
spring.datasource.driverClassName: YOUR_DB_DRIVER_CLASS 
spring.datasource.username: YOUR_DB_USER 
spring.datasource.password: YOUR_DB_PWD 
+0

все еще сталкиваются с одной проблемой – Raj

+0

тот же класс отлично работает в проекте maven – Raj

+0

Вам нужно сделать следующее :: @EnableJpaRepositories (basePackages = "com.duregesh. *") – developer