Java Dispacter Servelt xml文件

Java Dispacter Servelt xml文件,java,spring,hibernate,spring-mvc,spring-data-jpa,Java,Spring,Hibernate,Spring Mvc,Spring Data Jpa,我正在从事SpringMVC项目,我也想使用jpa特性。 我有3个实体类,它们对应的存储库接口。我在公共服务类中有它们的自动连接对象。然而,我在为控制器中使用的这个服务类对象创建bean时遇到了一些问题。 3个模型类是用户、约会和通知。 存储库接口扩展了Crudepository接口。 服务类别: @Service public class EHealthService { @Autowired UserRepository uRepo; @Autowired

我正在从事SpringMVC项目,我也想使用jpa特性。 我有3个实体类,它们对应的存储库接口。我在公共服务类中有它们的自动连接对象。然而,我在为控制器中使用的这个服务类对象创建bean时遇到了一些问题。 3个模型类是用户、约会和通知。 存储库接口扩展了Crudepository接口。
服务类别:

@Service

public class EHealthService

{

    @Autowired
    UserRepository uRepo;

    @Autowired
    AppointmentRepository aRepo;

    @Autowired
    NotificationRepository nRepo;

    public void registerUser(User u)
    {
        uRepo.save(u);
    }


    public boolean login(User u)
    {
        if(uRepo.findByemail(u.getEmail())!=null)
            return true;
        else
            return false;
    }

    public List<User> getDoctorList()
    {
        return uRepo.findByisdoctor(true);
    }
   // some more functions

}
ehealth-dispacter-servlet.xml文件:

<beans 
xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
 http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">


<context:component-scan base-package="com.cl3.controller" />
<context:component-scan base-package="com.cl3.model" />
<context:component-scan base-package="com.cl3.service" />

<bean     class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/pages/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="true"/>
    <property name="generateDdl" value="true"/>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="jpaVendorAdapter" ref="jpaVendorAdapter"/>

    <property name="packagesToScan" value="com.cl3.model"/>
</bean>

 <bean id="transactionManager" 
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>

/WEB-INF/pages/
.jsp


它说类是一个接口。 电子服务对象的bean是什么?在Disacter servel xml文件中启用jpa的bean是什么


谢谢。

如果您使用的是基于spring xml的配置,请将以下bean添加到配置文件中:

 <bean id="entityManagerFactoryBean" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <!-- This makes /META-INF/persistence.xml is no longer necessary -->
  <property name="packagesToScan" value="com.howtodoinjava.demo.model" />
  <!-- JpaVendorAdapter implementation for Hibernate EntityManager.
       Exposes Hibernate's persistence provider and EntityManager extension interface -->
  <property name="jpaVendorAdapter">
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
  </property>
  <property name="jpaProperties">
     <props>
        <prop key="hibernate.hbm2ddl.auto">validate</prop>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
     </props>
  </property>

验证
org.hibernate.dialogue.mysql5dialogue



通过在xml文件中添加此绑定注释来注册组件扫描:

<context:component-scan base-package="com.mycompany.projectname.demo" />

如果您的项目是SpringMVC,请将下面的绑定注释添加到xl文件

 <!-- This allow for dispatching requests to Controllers -->
<mvc:annotation-driven />

对于声明性事务管理,请在xml文件中添加以下内容

   <tx:annotation-driven />

若在spring中启用了组件扫描特性,那个么基本上不需要在xml配置文件中添加服务bean。 添加所需的依赖项以将jpa与spring集成。 请参阅此链接将帮助您了解更多信息:


plz复制stackrace…当然,问题/解决方案在您的配置详细信息中的某个地方…我还没有编写任何配置文件…然后我推荐spring的“入门”之一
 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory" ref="entityManagerFactoryBean" />
<context:component-scan base-package="com.mycompany.projectname.demo" />
 <!-- This allow for dispatching requests to Controllers -->
<mvc:annotation-driven />
   <tx:annotation-driven />