zoukankan      html  css  js  c++  java
  • Struts2+Hibernate3.0+Spring2.5.6整合

    这是一个简单的SSH XMl 配置的 整合 DEMO.~~

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     5 
     6     <!-- 配置Spring自动管理Session. 要配置到struts过滤器之前!-->  
     7     <filter>
     8         <filter-name>hibernateSessionFilter</filter-name>
     9         <filter-class>
    10             org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    11     </filter>
    12     <filter-mapping>
    13         <filter-name>hibernateSessionFilter</filter-name>
    14         <url-pattern>/*</url-pattern>
    15     </filter-mapping>
    16     
    17     <!-- classpath:applicationContext.xml  编译路径SRC,即指向.class文件目录的src 
    18          相当 于/WEB-INF /classes/ applicationContext.xml
    19     -->
    20     <context-param>
    21         <param-name>contextConfigLocation</param-name>
    22         <param-value>classpath:applicationContext.xml</param-value>
    23     </context-param>
    24     
    25     <!-- ContextLoaderListener预设读取applicationContext.xml  -->
    26     <listener>
    27         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    28     </listener>
    29     <!-- 配置  struts2 -->
    30     <filter>
    31         <filter-name>struts2</filter-name>
    32         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    33     </filter>
    34     <filter-mapping>
    35         <filter-name>struts2</filter-name>
    36         <url-pattern>/*</url-pattern>
    37     </filter-mapping>
    38 
    39 </web-app>
    WEB.xml配置
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
     4     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
     5     xsi:schemaLocation="
     6 http://www.springframework.org/schema/beans 
     7 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
     8 http://www.springframework.org/schema/tx
     9 http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    10 http://www.springframework.org/schema/aop 
    11 http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    12   http://www.springframework.org/schema/context   
    13    http://www.springframework.org/schema/context/spring-context-2.5.xsd
    14 ">
    15     <!-- 配置  datasource -->
    16     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    17         <property name="driverClassName" value="com.mysql.jdbc.Driver">
    18         </property>
    19         <property name="url" value="jdbc:mysql://localhost:3306/test"></property>
    20         <property name="username" value="root"></property>
    21         <property name="password" value="1234"></property>
    22         <property name="initialSize" value="5"></property>
    23         <property name="minIdle" value="2"></property>
    24     </bean>
    25 
    26     <!-- 配置  SessionFactory -->
    27     <bean id="sessionFactory"
    28         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    29         <property name="dataSource" ref="dataSource"></property>
    30 
    31 
    32         <!-- 映射路径 -->
    33         <property name="mappingDirectoryLocations">
    34                   <list>
    35                       <value>classpath:/com/shuanlei/po</value>
    36                   </list>
    37              </property>
    38             <!--
    39         <property name="mappingResources">
    40                 <list> <value>com/shuanlei/po/User.hbm.xml</value> </list>
    41             <list>
    42                 <value>classpath:/com/shuanlei/po</value>
    43             </list>
    44         </property>
    45             -->
    46         <!-- 加载Hibernate -->
    47         <property name="hibernateProperties">
    48             <props>
    49                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    50                 <prop key="hibernate.hbm2ddl.auto">update</prop>
    51                 <prop key="hibernate.show_sql">true</prop>
    52                 <prop key="hibernate.format_sql">true</prop>
    53 
    54             </props>
    55         </property>
    56     </bean>
    57 
    58     <!--
    59         配置 hibernatetemplate 为hibernateTemplate注入 sessionFactory .
    60     -->
    61     <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    62         <property name="sessionFactory" ref="sessionFactory"></property>
    63     </bean>
    64     <!-- 配置  事务 -->
    65     <bean id="txManager"
    66         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    67         <property name="sessionFactory" ref="sessionFactory"></property>
    68     </bean>
    69     <tx:annotation-driven transaction-manager="txManager" />
    70 
    71     <!-- 配置  AOp -->
    72     <aop:config>
    73         <aop:pointcut expression="execution(public * com.shuanlei.service.impl.*.*(..))"
    74             id="bussinessService" />
    75         <aop:advisor advice-ref="txAdvice" pointcut-ref="bussinessService" />
    76     </aop:config>
    77     <tx:advice id="txAdvice" transaction-manager="txManager">
    78         <tx:attributes>
    79             <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />
    80             <tx:method name="add*" propagation="REQUIRED" />
    81             <tx:method name="del*" propagation="REQUIRED" />
    82             <tx:method name="update*" propagation="REQUIRED" />
    83 
    84         </tx:attributes>
    85     </tx:advice>
    86     <!-- 导入 其它的 xml包包 -->
    87     <import resource="classpath*:/applicationContext-action.xml" />
    88     <import resource="classpath*:/applicationContext-dao.xml" />
    89     <import resource="classpath*:/applicationContext-service.xml" />
    90 
    91 </beans>
    applicationContext.XML
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 
     3   <beans
     4       xmlns="http://www.springframework.org/schema/beans"
     5       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     6       xmlns:p="http://www.springframework.org/schema/p"
     7       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     8       
     9       
    10       <bean id="UserAction" class="com.shuanlei.action.UserAction" scope="prototype" autowire="byType" >
    11       </bean>
    12       
    13  </beans>
    applicationContext-action.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2  <beans
     3       xmlns="http://www.springframework.org/schema/beans"
     4       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5       xmlns:p="http://www.springframework.org/schema/p"
     6       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     7       
     8       <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
     9             <property name="sessionFactory" ref="sessionFactory"></property>
    10      </bean>
    11       
    12       <bean id="implUserDao" class="com.shuanlei.dao.impl.UserDaoImpl" scope="prototype" autowire="byType" >
    13            <property name="hibernateTemplate" ref="hibernateTemplate"></property>
    14       </bean>
    15       
    16  </beans>
    applicationContext-dao.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans
     3       xmlns="http://www.springframework.org/schema/beans"
     4       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5       xmlns:p="http://www.springframework.org/schema/p"
     6       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     7       
     8       
     9       <bean id="implUserService" class="com.shuanlei.service.impl.UserServiceImpl" scope="prototype" autowire="byType" >
    10           
    11       </bean>
    12       
    13  </beans>
    applicationContext-service.xml
     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     4     "http://struts.apache.org/dtds/struts-2.0.dtd">
     5 
     6 <struts>
     7     <constant name="struts.multipart.saveDir" value="/tmp" />
     8     <!-- spring  交 给 struts2管理 -->
     9     <constant name="struts.objectFactory" value="spring"></constant>
    10     <!--
    11         需要添加额外的jar , 才能去 ioc 容器当中获取 bean struts-spring-plugin...jar
    12     -->
    13     <package name="default" namespace="/" extends="struts-default">
    14         <action name="UserAction" class="com.shuanlei.action.UserAction"></action>
    15         
    16     </package>
    17 
    18 </struts>
    struts.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE hibernate-mapping PUBLIC 
     3       "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     5   <hibernate-mapping 
     6       package="com.shuanlei.po">
     7  
     8       <class name="User" table="t_user">
     9          <id  name="id"  column="id" >
    10             <generator class="native"></generator>
    11         </id>
    12       
    13          <property name="uname" column="uname"></property>
    14          
    15          <property name="pwd" column="pwd"></property>
    16          
    17      </class>
    18      
    19  </hibernate-mapping>
    User.hbm.xml
    1 public interface ImplUserDao {
    2     public void add(User user);
    3 }
    com.shuanlei.dao.ImplUserDao
     1 public class UserDaoImpl implements ImplUserDao{
     2     
     3     private HibernateTemplate hibernateTemplate;
     4     
     5     public void add(User user) {
     6         
     7         hibernateTemplate.save(user);
     8     }
     9 
    10     public HibernateTemplate getHibernateTemplate() {
    11         return hibernateTemplate;
    12     }
    13 
    14     public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    15         this.hibernateTemplate = hibernateTemplate;
    16     }
    17     
    18 }
    com.shuanlei.dao.impl.UserDaoImpl
    1 public interface ImplUserService {
    2     public void add(User user);
    3 }
    com.shuanlei.service.ImplUserService
     1 public class UserServiceImpl implements ImplUserService {
     2     private ImplUserDao implUserDao;
     3 
     4     public void add(User user) {
     5 
     6         implUserDao.add(user);
     7     }
     8 
     9     public ImplUserDao getImplUserDao() {
    10         return implUserDao;
    11     }
    12 
    13     public void setImplUserDao(ImplUserDao implUserDao) {
    14         this.implUserDao = implUserDao;
    15     }
    16     
    17 }
    com.shuanlei.service.impl.UserServiceImpl
     1 public class UserAction {
     2     private ImplUserService implUserService;
     3     private User user;
     4     
     5     public String add(){
     6         
     7         implUserService.add(user);
     8         return null;
     9     }
    10 
    11     public User getUser() {
    12         return user;
    13     }
    14 
    15     public void setUser(User user) {
    16         this.user = user;
    17     }
    18 
    19     public ImplUserService getImplUserService() {
    20         return implUserService;
    21     }
    22 
    23     public void setImplUserService(ImplUserService implUserService) {
    24         this.implUserService = implUserService;
    25     }
    26 
    27 }
    com.shuanlei.action.UserAction

    引用:http://www.cnblogs.com/shangxiaofei/p/3951469.html

    致 漂亮的小吐绿  ^_^

  • 相关阅读:
    利用.Net的CLR和BCL实现函数IsNumeric
    30岁前挣到10万年薪 五位年轻人的高薪秘诀
    三级关链菜单通用版
    对Session和Cookie的区分与理解
    转贴:C#排序算法大全
    无效的 CurrentPageIndex 值.它必须大于等于 0 且小于 PageCount!的问题
    ASP.NET中“检测到有潜在危险的表单值”的解决方法
    如何让网页版面更适合浏览者呢?这里有技巧
    十二星座情侣恋爱积分
    asp.net 三种基本的参数传递方法(web forms)
  • 原文地址:https://www.cnblogs.com/shuanlei/p/4257563.html
Copyright © 2011-2022 走看看