2016-09-23 84 views
0

我試圖連接spring-mvc 4和休眠與jpa使用java配置,但它不工作可以請告訴我錯誤或指導我與新的配置設置如何配置彈簧mvc 4與休眠和Jpa使用java配置

第一配置類是 -

package com.codeoxy.web.config.servlet3; 

    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; 

import com.codeoxy.web.config.SpringWebConfig; 

public class MyWebInitializer extends 
    AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return new Class[] { SpringWebConfig.class }; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/" }; 
} 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return null; 
    } 

    } 

和用於彈簧的第二類是以下

package com.codeoxy.web.config; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
import org.springframework.web.servlet.view.InternalResourceViewResolver; 
import org.springframework.web.servlet.view.JstlView; 

    @EnableWebMvc 
    @Configuration 
@ComponentScan({ "com.codeoxy.web" }) 
public class SpringWebConfig extends WebMvcConfigurerAdapter { 

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
} 

@Bean 
public InternalResourceViewResolver viewResolver() { 
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
    viewResolver.setViewClass(JstlView.class); 
    viewResolver.setPrefix("/WEB-INF/views/jsp/"); 
    viewResolver.setSuffix(".jsp"); 
    return viewResolver; 
    } 

    } 

和JPA配置文件是

package com.codeoxy.web.config; 

    import java.util.Properties; 

    import javax.persistence.EntityManagerFactory; 
    import javax.sql.DataSource; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; 
import org.springframework.jdbc.datasource.DriverManagerDataSource; 
import org.springframework.orm.jpa.JpaTransactionManager; 
import org.springframework.orm.jpa.JpaVendorAdapter; 
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; 
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; 
import org.springframework.transaction.PlatformTransactionManager; 
import org.springframework.transaction.annotation.EnableTransactionManagement; 

@Configuration 
@EnableTransactionManagement 
public class PersistenceJPAConfig{ 

@Bean 
public LocalContainerEntityManagerFactoryBean entityManagerFactory() { 
    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); 
    em.setDataSource(dataSource()); 
    em.setPackagesToScan(new String[] { "org.baeldung.persistence.model" }); 

    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
    em.setJpaVendorAdapter(vendorAdapter); 
    em.setJpaProperties(additionalProperties()); 

    return em; 
    } 

    @Bean 
    public DataSource dataSource(){ 
    DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
    dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 
    dataSource.setUrl("jdbc:mysql://localhost:3306/fitnestracker"); 
    dataSource.setUsername("root"); 
    dataSource.setPassword(""); 
    return dataSource; 
    } 

    @Bean 
    public PlatformTransactionManager transactionManager(EntityManagerFactory emf){ 
    JpaTransactionManager transactionManager = new JpaTransactionManager(); 
    transactionManager.setEntityManagerFactory(emf); 

    return transactionManager; 
    } 

    @Bean 
    public PersistenceExceptionTranslationPostProcessor exceptionTranslation(){ 
    return new PersistenceExceptionTranslationPostProcessor(); 
    } 

    Properties additionalProperties() { 
    Properties properties = new Properties(); 
    properties.setProperty("hibernate.hbm2ddl.auto", "create-drop"); 
    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); 
    return properties; 
    } 
    } 

Can有人能幫助我,謝謝。

回答

0

您的setPackagesToScan是錯誤的。請重新安裝正確的插件。此外,您還沒有提供錯誤日誌,沒有它就很難回答。

em.setPackagesToScan(new String [] {「org.baeldung.persistence.model」});

+0

謝謝。但它又給出了錯誤,你能告訴我關於這種類型的配置的完整數據。 –

+0

發送錯誤日誌 –