zoukankan      html  css  js  c++  java
  • spring整合struts2和JPA

    Bos的配置文件的配置

                         注:本文档整理的是Maven管理的项目中个配置文件的搭建

      第一部分(web.xml):

      1. 在bos中配置spring整合struts2 时:
      2. <!-- 扫描 @Server @Controller @Repository -->
    1. <context:component-scan base-package="com.shuguolili"/>

          a)   要在web.xml问文件中配置spring配置文件的位置:

            <!-- spring配置文件位置 -->

            <context-param>

                   <param-name>contextConfigLocation</param-name>

                   <param-value>classpath:applicationContext.xml</param-value>

                 </context-param>

          b)      在web.xml文件中配置核心监听器

              <!-- spring核心监听器 -->

                 <listener>

                        <listener-class>

                org.springframework.web.context.ContextLoaderListener

              </listener-class>

                 </listener>

          c)   在struts2的核心过滤器(拦截器)

            <filter>

              <filter-name>struts</filter-name>

              <filter-class>

                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

              </filter-class>

            </filter>

            <filter-mapping>

                   <filter-name>struts</filter-name>

                   <url-pattern>/*</url-pattern>

            </filter-mapping>

          d)      配置将开启事务和关闭事务提前到web层的注解(放在action中去关闭)

            <filter>

                                 <filter-name>OpenSessionInViewFilter</filter-name>

                                 <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>

            </filter>

            <filter-mapping>

                                 <filter-name>OpenSessionInViewFilter</filter-name>

                                 <url-pattern>/*</url-pattern>

            </filter-mapping>

      第二部分:(service层applicationContext.xml)

      1. 在applicationContext.xml文件里开启spring的注解扫描
      2. 声明事务管理器配置

            <!-- JPA事务管理器 -->(不止一种事务管理器)

            <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">

                    <property name="entityManagerFactory" ref="entityManagerFactory" />

            </bean>

          3.开启注解管理事务

              <!-- 开启注解管理事务 -->

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

          4.配置加载数据库的配置(配置连接数据库所需的账号密码等)

            <!-- 加载properties文件 -->

            <context:property-placeholder location="classpath:config.properties" />

          5.数据库连接池配置

              <!-- 数据库连接池 -->

            <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

                    <property name="driverClass" value="${jdbc.driver}" />

                    <property name="jdbcUrl" value="${jdbc.url}" />

                    <property name="user" value="${jdbc.user}" />

                    <property name="password" value="${jdbc.password}" />

            </bean>

     

         6.JPA的配置

            <!-- 进行JPA配置 -->

                   <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

                                 <!-- 注入连接池 -->

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

                                 <!-- 配置实体类注解扫描 -->找到数据库和实体类的映射

                                 <property name="packagesToScan" value="cn.itcast.bos.domain" />

                                 <!-- 持久化的提供者 -->真正操作数据库的对象

                                 <property name="persistenceProvider">

                                    <bean class="org.hibernate.ejb.HibernatePersistence" />

                               </property>

                               <!-- Hibernate JPA的适配器 -->配置了数据库的方言,数据库类型,数据库建表方式,是否打印sql语句

                             <property name="jpaVendorAdapter">

                                        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">

                                                  <property name="generateDdl" value="true" /><!-- 是否自动创建表 -->

                                                  <property name="database" value="ORACLE" /><!-- 数据库 -->

                                                  <property name="databasePlatform"

                    value="org.hibernate.dialect.Oracle10gDialect"></property><!-- 数据库方言 -->

                                                  <property name="showSql" value="true" /><!-- 是否打印SQL语句 -->

                                        </bean>

                               </property>

                               <!-- JPA的方言 -->

                              <property name="jpaDialect">

                                        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />

                             </property>

                   </bean>

        7.整合spring data jpa:告诉jpa我的dao层在哪

          <jpa:repositories base-package="cn.itcast.bos.dao"></jpa:repositories>

     

  • 相关阅读:
    HTML DOM 12 表格排序
    HTML DOM 10 常用场景
    HTML DOM 10 插入节点
    HTML DOM 09 替换节点
    HTML DOM 08 删除节点
    HTML DOM 07 创建节点
    022 注释
    024 数字类型
    005 基于面向对象设计一个简单的游戏
    021 花式赋值
  • 原文地址:https://www.cnblogs.com/lkyang/p/8611850.html
Copyright © 2011-2022 走看看