Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jboss的Spring和持久化单元_Java_Spring_Hibernate_Struts2_Jboss - Fatal编程技术网

Java 使用jboss的Spring和持久化单元

Java 使用jboss的Spring和持久化单元,java,spring,hibernate,struts2,jboss,Java,Spring,Hibernate,Struts2,Jboss,我的项目最初开发时没有使用持久化单元,项目是spring,Struts2 hibernate集成项目。现在我需要使用jboss连接池和持久化单元。 任何人都可以引导我以最短的方式转换该要求中的项目。 当前spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2

我的项目最初开发时没有使用持久化单元,项目是spring,Struts2 hibernate集成项目。现在我需要使用jboss连接池和持久化单元。 任何人都可以引导我以最短的方式转换该要求中的项目。 当前spring.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


<bean
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>properties/database.properties</value>
    </property>
</bean>
<bean id="springdatasource"

    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

    <property name="dataSource">
        <ref bean="springdatasource" />
    </property>

    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>

    <property name="annotatedClasses">
        <list>

            <value>model.AtOrganisation</value>

            <value>model.AtDivision</value>



        </list>
    </property>

</bean>



<bean id="orgdao" class="dao.OrganisationDaoImp">
    <property name="sessionfactory" ref="sessionFactory" />
</bean>
<bean id="divdao" class="dao.DevisionDaoImpl">
    <property name="sessionfactory" ref="sessionFactory" />
</bean>
<bean id="empAction" class="action.OraganisationAction">
    <property name="orgdao" ref="orgdao" />
</bean>
<bean id="empAction2" class="action.DevisionAction">
    <property name="orgdao" ref="orgdao" />
</bean>
<bean id="divAction" class="action.DevisionAction">
    <property name="divdao" ref="divdao" />
</bean>

}

1:更改数据源配置以使用jboss数据源。可以这样做:

2:添加事务管理器以使用spring事务管理器控制事务:

3:为spring事务添加注释支持。将此添加到您的配置中:

<tx:annotation-driven transaction-manager="transactionManager" />

4:最后用@Transactional

装饰您的Dao类,我相信您只需要切换到jboss数据源,是吗?是的,我需要按容器管理事务。与我当前的代码不同。这个放在哪里@Dillis把所有的东西都放在你的spring xmlcan中,你可以在做出更改后提供代码吗。我犯了很多错误。谢谢
<jee:jndi-lookup id="springdatasource" jndi-name="your-de-jndi-name" />
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />