在仅使用注释的ear应用程序中使用hibernate的Spring MVC不起作用

时间:2017-03-20 16:40:20

标签: java mysql spring hibernate spring-mvc

我创建了一个带有一个Web模块和一个EJB模块的ear项目。

我正在使用Web模块进行Spring MVC视图和控制器。模型,服务和存储库在ejb模块中维护。 (也在JAR模块中尝试过)。

我得到的异常如[springframework.web.servlet.DispatcherServlet] (ServerService Thread Pool -- 168) Context initialization failed: java.lang.IllegalStateException: Cannot load configuration class: com.sakthi.core.config.HibernateConfiguration Exception.

我的HibernateConfiguration类是,

package com.sakthi.core.config;
import java.util.Properties;

import javax.sql.DataSource;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@EnableTransactionManagement
public class HibernateConfiguration {

    @Bean
    public LocalSessionFactoryBean sessionFactory() {
        LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
        sessionFactory.setDataSource(dataSource());
        sessionFactory.setPackagesToScan(new String[] { "com.sakthi.core.model" });
        sessionFactory.setHibernateProperties(hibernateProperties());
        return sessionFactory;
     }

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

    private Properties hibernateProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
        properties.put("hibernate.show_sql", "true");
        properties.put("hibernate.format_sql", "true");
        return properties;        
    }

    @Bean
    @Autowired
    public HibernateTransactionManager transactionManager(SessionFactory s) {
       HibernateTransactionManager txManager = new HibernateTransactionManager();
       txManager.setSessionFactory(s);
       return txManager;
    }

}

我的完整项目已复制到github网址:https://github.com/newway86/Spring4MVCHibernateEAR/tree/master/myapp

请帮帮我...我试了2个月。还没有得到溶剂。

此实际程序取自此网址:http://websystique.com/springmvc/spring-4-mvc-and-hibernate4-integration-example-using-annotations/

如果我在web项目中尝试上面的例子,它的工作正常。但是当我将其创建为耳朵项目并将核心逻辑移动到ejb模块时不起作用。

0 个答案:

没有答案