2013-12-04 6 views
2

В следующем учебнике (Spring Data JPA Tutorial) объясняется, как начать работу с приложением, использующим Spring Data JPA для хранения и извлечения данных в реляционной базе данных.Spring MVC с данными весны JPA

У меня в настоящее время возникают проблемы с тем, чтобы это работало вместе с SpringMVC. У меня очень простое приложение MVC, и я пытаюсь интегрировать в него Spring Data JPA.

Вышеприведенное руководство, к сожалению, не очень полезно в моем случае, поскольку оно не объясняет, как использовать Spring Data вместе с MVC.

В учебном пособии объясняется, как настроить класс Application, где сконфигурированы все необходимые компоненты, а затем он имеет простой основной метод, который использует один из примеров репозиториев.

Мой вопрос: Как настроить приложение MVC так же, как в учебнике, чтобы начать использовать Spring Data в MVC?

Вот код Application класса только для справки:

@Configuration 
@EnableJpaRepositories 
public class Application { 

    @Bean 
    public DataSource dataSource() { 
     return new EmbeddedDatabaseBuilder().setType(H2).build(); 
    } 

    @Bean 
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) { 
     LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean(); 
     lef.setDataSource(dataSource); 
     lef.setJpaVendorAdapter(jpaVendorAdapter); 
     lef.setPackagesToScan("hello"); 
     return lef; 
    } 

    @Bean 
    public JpaVendorAdapter jpaVendorAdapter() { 
     HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter(); 
     hibernateJpaVendorAdapter.setShowSql(false); 
     hibernateJpaVendorAdapter.setGenerateDdl(true); 
     hibernateJpaVendorAdapter.setDatabase(Database.H2); 
     return hibernateJpaVendorAdapter; 
    } 

    @Bean 
    public PlatformTransactionManager transactionManager() { 
     return new JpaTransactionManager(); 
    } 


    public static void main(String[] args) { 
     AbstractApplicationContext context = new AnnotationConfigApplicationContext(Application.class); 
     CustomerRepository repository = context.getBean(CustomerRepository.class); 

     // save a couple of customers 
     repository.save(new Customer("Jack", "Bauer")); 
     repository.save(new Customer("Chloe", "O'Brian")); 
     repository.save(new Customer("Kim", "Bauer")); 
     repository.save(new Customer("David", "Palmer")); 
     repository.save(new Customer("Michelle", "Dessler")); 

     // fetch all customers 
     Iterable<Customer> customers = repository.findAll(); 
     System.out.println("Customers found with findAll():"); 
     System.out.println("-------------------------------"); 
     for (Customer customer : customers) { 
      System.out.println(customer); 
     } 
     System.out.println(); 

     // fetch an individual customer by ID 
     Customer customer = repository.findOne(1L); 
     System.out.println("Customer found with findOne(1L):"); 
     System.out.println("--------------------------------"); 
     System.out.println(customer); 
     System.out.println(); 

     // fetch customers by last name 
     List<Customer> bauers = repository.findByLastName("Bauer"); 
     System.out.println("Customer found with findByLastName('Bauer'):"); 
     System.out.println("--------------------------------------------"); 
     for (Customer bauer : bauers) { 
      System.out.println(bauer); 
     } 

     context.close(); 
    } 

} 

ответ

3

Лично я начал с весной, загружая приложения на github.com, со встроенной в конфигурационном файле:
загрузки, например petclinic project (выберите Download .zip)
Затем, если вы используете Spring Tool Suite: File> Import> Maven> Существующие проекты Maven> Browse> ...
Чтобы вам не пришлось беспокоиться о файлах конфигурации .xml, они устанавливаются одновременно.

0

Я делаю то же самое, что вы пытаетесь сделать. Начните с небольших учебных пособий стартера, а затем идите оттуда. Это как мой основной метод выглядит как после слияния и MVC данные:

public static void main(String[] args) { 
ApplicationContext context = SpringApplication.run(Application.class,args); 
PostRepository repository = context.getBean(PostRepository.class); 
} 

(мой репозиторий здесь называется PostRepository, потому что я создаю приложение блога и хранить «пост» объекты в моей базе данных)

Смежные вопросы