zoukankan      html  css  js  c++  java
  • 关于Spring和Struts2的整合

    需要导入包

    struts2-spring-plugin-2.3.24.jar

    Spring配置文件

     1 <beans xmlns="http://www.springframework.org/schema/beans"
     2     xmlns:aop="http://www.springframework.org/schema/aop"
     3     xmlns:tx="http://www.springframework.org/schema/tx"
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans
     7         http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
     8         http://www.springframework.org/schema/tx
     9         http://www.springframework.org/schema/tx/spring-tx.xsd
    10         http://www.springframework.org/schema/aop
    11         http://www.springframework.org/schema/aop/spring-aop.xsd
    12         http://www.springframework.org/schema/context
    13         http://www.springframework.org/schema/context/spring-context.xsd">
    14         
    15         <context:annotation-config/>
    16         <context:component-scan base-package="com.zsl"/> 
    17         <tx:annotation-driven transaction-manager="transactionManager"/>
    18         
    19         <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    20         <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    21         <property name="url" value="jdbc:mysql://localhost:3306/SSH"></property>
    22         <property name="username" value="root"></property>
    23         <property name="password" value="root"></property>
    24         </bean>
    25         
    26         <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    27         <property name="dataSource" ref="dataSource"></property>
    28         <property name="packagesToScan" value="com.zsl.model">
    29         </property>
    30         <property name="hibernateProperties">
    31             <props>
    32                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
    33                 <prop key="hibernate.hbm2ddl.auto">update</prop>
    34                 <prop key="hibernate.show_sql">true</prop>
    35                 <prop key="hibernate.format_sql">true</prop>
    36                 <prop key="current_session_context_class">thread</prop> 
    37                 <prop key="cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
    38             </props>
    39         </property>
    40     </bean>
    41         
    42     <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">   
    43        <property name="sessionFactory" ref="sessionFactory"></property>   
    44    </bean>

    web配置文件

     1  <listener>
     2         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     3     </listener>
     4     
     5     <context-param>
     6         <param-name>contextConfigLocation</param-name>
     7         <param-value>classpath:bean1.xml</param-value>
     8     </context-param>
     9     
    10   
    11    <filter>
    12         <filter-name>struts2</filter-name>
    13         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    14     </filter>
    15 
    16     <filter-mapping>
    17         <filter-name>struts2</filter-name>
    18         <url-pattern>/*</url-pattern>
    19     </filter-mapping>

    当Struts2的action交由Spring管理的时候,不需要注入,action会自己讲有set方法的属性按名字查找从Spring的配置文件中找到相应的ID自己注入。

    或者将Struts2的xml文档里的action的class参数改为Spring配置中依赖注入的ID,则action类中的属性需自己注入。

  • 相关阅读:
    国货之光业务增长背后的技术支持
    减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
    我在阿里写代码学会的六件事
    SpringCloud 应用在 Kubernetes 上的最佳实践 — 诊断(线上联调)
    视频需求超平常数 10 倍,却节省了 60% 的 IT 成本投入是一种什么样的体验?
    从单体到混乱的微服务,阿里云托管式服务网格是如何诞生的?
    阿里张磊:如何构建以应用为中心的“Kubernetes”?(内含 QA 整理)
    python之深度学习-模拟异步操作(队列)
    python之深度学习-队列处理数据(同步)
    python深度学习-tensorflow实现一个线性回归的案例
  • 原文地址:https://www.cnblogs.com/zhengsonglin/p/8178773.html
Copyright © 2011-2022 走看看