• 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>

     

  • 相关阅读:
    TCP/UDP常见端口参考
    HTTP状态码对照表 HTTP response codes
    HTTP请求方法对照表
    服务器返回的各种HTTP状态码介绍
    HTTP响应头和请求头信息对照表
    简析TCP的三次握手与四次分手
    什么是JDK
    jmeter使用IP欺骗压力测试
    jmeter制造安全证书
    Python 变量作用域
  • 原文地址:https://www.cnblogs.com/lkyang/p/8611850.html
Copyright © 2020-2023  润新知