在Eclipse上配置Spring / JPA Hibernate

问题描述

| 我一直在努力在系统上安装Spring 3.1(最新)和Hibernate JPA。 我遍历了所有教程,但无法修复。 我已经从Eclipse的Install New Software安装了Spring。我现在想向其中添加Hibernate JPA,并要测试所有内容。     

解决方法

如果您可以选择IDE,那么我建议您查看Spring Tool Suite(STS)。 STS预装了Spring的东西。 您也可以查看Spring Roo。 Spring Roo为您提供了一个快速入门,并可以帮助您创建基于Spring和Hibernate的项目所需的所有支架。 希望能有所帮助。     ,我有同样的问题。我花了很多时间在Windows上的Eclipse上与Spring Server以及Tomcat一样,作为Spring的STS安装。它没有任何作用。我去过Ubuntu 10.04 LTS,现在像STS,Eclipse和Spring,Tomcat一样,都没有问题     ,使用哪个IDE都没有关系。这是我的spring-dao.xml:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<beans xmlns=\"http://www.springframework.org/schema/beans\"
       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
       xmlns:tx=\"http://www.springframework.org/schema/tx\"
       xmlns:util=\"http://www.springframework.org/schema/util\"
       xsi:schemaLocation=\"http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/util
          http://www.springframework.org/schema/util/spring-util-3.1.xsd\">

    <tx:annotation-driven/>

    <bean class=\"org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor\"/>

    <!-- Pooling and datasource -->
    <bean id=\"dataSource\" class=\"com.mchange.v2.c3p0.ComboPooledDataSource\" destroy-method=\"close\">
        <property name=\"driverClass\" value=\"org.postgresql.Driver\"/>
        <property name=\"jdbcUrl\" value=\"jdbc:postgresql://localhost:5432/powerms_db\"/>
        <property name=\"user\" value=\"postgres\"/>
        <property name=\"password\" value=\"111111\"/>

        <property name=\"minPoolSize\" value=\"10\"/>
        <property name=\"maxPoolSize\" value=\"100\"/>
        <property name=\"maxStatements\" value=\"0\"/>
        <property name=\"acquireIncrement\" value=\"5\"/>
        <property name=\"idleConnectionTestPeriod\" value=\"100\"/>
    </bean>

    <!-- JPA configuration -->
    <bean id=\"entityManagerFactory\" class=\"org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean\">
        <property name=\"dataSource\" ref=\"dataSource\"/>
        <property name=\"jpaVendorAdapter\" ref=\"hibernateJpaVendorAdapter\"/>
        <property name=\"packagesToScan\" value=\"ru.topcode.powerms.domain\"/>
        <property name=\"jpaPropertyMap\" ref=\"hibernateProperties\"/>

        <property name=\"loadTimeWeaver\">
            <bean class=\"org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver\"/>
        </property>
    </bean>

    <bean id=\"hibernateJpaVendorAdapter\" class=\"org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter\"/>

    <util:map id=\"hibernateProperties\">

        <!--
         The classname of a Hibernate org.hibernate.dialect.Dialect which allows Hibernate to generate SQL
         optimized for a particular relational database.
        -->
        <entry key=\"hibernate.dialect\" value=\"org.hibernate.dialect.PostgreSQLDialect\"/>

        <!-- Write all SQL statements to console. This is an alternative to setting the log category org.hibernate.SQL to debug. -->
        <entry key=\"hibernate.show_sql\" value=\"true\"/>

        <!-- Pretty print the SQL in the log and console. -->
        <entry key=\"hibernate.format_sql\" value=\"true\"/>

        <!-- If turned on,Hibernate will generate comments inside the SQL,for easier debugging,defaults to false. -->
        <entry key=\"hibernate.use_sql_comments\" value=\"true\"/>

        <!-- If enabled,Hibernate will collect statistics useful for performance tuning. -->
        <entry key=\"hibernate.generate_statistics\" value=\"true\"/>

        <!--
         Automatically validates or exports schema DDL to the database when the SessionFactory is created.
         With create-drop,the database schema will be dropped when the SessionFactory is closed explicitly.
         e.g. validate | update | create | create-drop
         -->
        <entry key=\"hibernate.hbm2ddl.auto\" value=\"create-drop\"/>
    </util:map>

    <!-- transaction management -->
    <bean name=\"transactionManager\" class=\"org.springframework.orm.jpa.JpaTransactionManager\">
        <property name=\"entityManagerFactory\" ref=\"entityManagerFactory\"/>
    </bean>
</beans>
这是我的spring-dispatcher-servlet.xml:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<beans xmlns=\"http://www.springframework.org/schema/beans\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
       xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:p=\"http://www.springframework.org/schema/p\"
       xmlns:mvc=\"http://www.springframework.org/schema/mvc\" xmlns:aop=\"http://www.springframework.org/schema/aop\"
       xsi:schemaLocation=\"http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                    http://www.springframework.org/schema/context 
                    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
                    http://www.springframework.org/schema/mvc 
                    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
                    http://www.springframework.org/schema/aop
                    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd\">

    <aop:config proxy-target-class=\"true\" />

    <!-- Scans the classpath of this application for @Components to deploy as beans -->
    <context:component-scan base-package=\"ru.topcode.powerms\" annotation-config=\"true\" />

    <!-- Configures the @Controller programming model -->
    <mvc:annotation-driven />

    <!-- Forwards requests to the \"/\" resource to the \"welcome\" view -->
    <mvc:view-controller path=\"/\" view-name=\"index\" />

    <!-- Configures Handler Interceptors -->
    <mvc:interceptors>
        <bean class=\"org.springframework.web.servlet.i18n.LocaleChangeInterceptor\" />
    </mvc:interceptors>

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources/
         directory -->
    <mvc:resources mapping=\"/resources/**\" location=\"/resources/\" />

    <!-- Saves a locale change using a cookie -->
    <bean id=\"localeResolver\" class=\"org.springframework.web.servlet.i18n.CookieLocaleResolver\" />

    <bean id=\"tilesviewResolver\" class=\"org.springframework.web.servlet.view.tiles2.TilesViewResolver\">
        <property name=\"order\" value=\"0\" />
    </bean>

    <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory -->
    <bean id=\"viewResolver\" class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\">
        <property name=\"prefix\" value=\"/WEB-INF/view/\" />
        <property name=\"suffix\" value=\".jsp\" />
        <property name=\"order\" value=\"1\" />
    </bean>

    <bean id=\"tilesConfigurer\" class=\"org.springframework.web.servlet.view.tiles2.TilesConfigurer\">
        <property name=\"definitions\">
            <list>
                <value>/WEB-INF/tiles-general.xml</value>
            </list>
        </property>
    </bean>

    <!-- Application Message Bundle -->
    <bean id=\"messageSource\" class=\"org.springframework.context.support.ReloadableResourceBundleMessageSource\">
        <property name=\"basename\" value=\"/WEB-INF/messages/messages\" />
        <property name=\"cacheSeconds\" value=\"0\" />
        <property name=\"defaultEncoding\" value=\"UTF-8\" />
    </bean>

    <!-- exeption -->
    <bean id=\"exceptionalResolver\" class=\"org.springframework.web.servlet.handler.SimpleMappingExceptionResolver\">
        <property name=\"exceptionMappings\">
            <value>
                java.lang.Throwable=error
            </value>
        </property>
    </bean>
</beans>