`
diqizhan
  • 浏览: 146220 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring,Struts2.0,Ibatis框架整合_3

阅读更多
到配置文件部分了,这个是把所有dao,service,action等都分开来写,applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

<!-- 以下为 所有配置action,service,dao 分开写文件引入,也可以在web.xml中引入 -->

	<import resource="actionContext.xml"/>
	<import resource="daoContext.xml"/>
	<import resource="dataAccessContext.xml"/>
	<import resource="serviceContext.xml"/>

</beans>



如果是全部写在一起的话,actionContext.xml,daoContext.xml,dataAccessContext.xml,serviceContext.xml等都不要,则是这样:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

<!-- 以下为将所有配置action,service,dao集中写在一起的情况  -->

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/zhiming"/>
		<property name="username" value="root"/>
		<property name="password" value="123456"/>
	</bean>
	
	<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="dataSource">
			<ref local="dataSource"/>
		</property>
		<property name="configLocation">
			<value>WEB-INF/sqlMapConfig.xml</value>
		</property>
	</bean>

	<bean id="userAction" class="com.action.UserAction" scope="prototype">
		<property name="userService" ref="userService" />
	</bean>

	<bean id="userService"
		class="com.service.impl.UserServiceImpl">
		<property name="userDao" ref="userDao"></property>
	</bean>

	<bean id="userDao" class="com.dao.impl.UserDao">
		<property name="sqlMapClient" ref="sqlMapClient"/>
	</bean>	

</beans>



applicationContext.xml所import进来的xml文件的文件头那些都要和applicationContext.xml的文件头一样,actionContext.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	<!-- Struts2 action类注入 -->
	<bean id="userAction" class="com.action.UserAction" scope="prototype">
		<property name="userService" ref="userService" />
	</bean>
	
</beans>


daoContext.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

<!-- IBATIS的DAO的配置注入 -->	
	<bean id="userDao" class="com.dao.impl.UserDao">
		<property name="sqlMapClient" ref="sqlMapClient"/>
	</bean>	
	
</beans>


dataAccessContext.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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	<!-- 读取 jdbc.properties -->
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>WEB-INF/jdbc.properties</value>
			</list>
		</property>
	</bean>

	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<property name="poolPreparedStatements" value="true" />
	</bean>

    <!-- 配置sqlMapClient -->
	<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="dataSource">
			<ref local="dataSource"/>
		</property>
		<property name="configLocation">
			<value>WEB-INF/sqlMapConfig.xml</value>
		</property>
	</bean>
</beans>



serviceContext.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byType" 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	<!-- 系统业务逻辑层的注入 -->
	<bean id="userService"
		class="com.service.impl.UserServiceImpl">
		<property name="userDao" ref="userDao"></property>
	</bean>
</beans>


数据库配置文件,jdbc.properties部分:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/zhiming
jdbc.username=root
jdbc.password=123456

#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@172.16.24.85:1521:gdyp
#jdbc.username=it
#jdbc.password=it
#datasource.name=jdbc/ci


struts2配置文件一,struts.properties部分:
struts.devMode=true
struts.enable.DynamicMethodInvocation=false
struts.objectTypeDeterminer=notiger
struts.objectFactory=spring
struts.locale=zh_CN
struts.i18n.encoding=UTF-8


struts2配置文件二,struts.xml部分:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <!-- 这里的type对应spring配置文件的<beans>元素中的default-autowire属性,若不写则默认  -->
	<constant name="struts.objectFactory.spring.autoWire" value="type" />
	<constant name="struts.objectFactory" value="spring" />
	<include file="struts-default.xml" />
	
	<!-- 在这里可以include多个struts的配置文件 -->
	
	<package name="ling" extends="struts-default" namespace="/">
	<default-interceptor-ref name="paramsPrepareParamsStack" />
		<action name="findAllUsers" class="userAction" method="findAllUsers">
			<result name="success">/jsp/user.jsp</result>
		</action>

	</package>
		
</struts>



Ibatis配置文件部分,sqlMapConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
          
     <sqlMap resource="com/sqlmap/User_sqlMap.xml"/>   
     
</sqlMapConfig>


web.xml部分:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
	<!-- 配置Spring -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/applicationContext.xml</param-value>
		<!-- 也可以在这里引入多个spring xml配置文件 -->
        <!-- <param-value>WEB-INF/applicationContext.xml,WEB-INF/dataAccessContext.xml</param-value> -->
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<!-- 配置Struts2 -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- dwr servlet-->
	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>logLevel</param-name>
			<param-value>FATAL</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>



dwr.xml配置部分,其作用后面再讲:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr20.dtd">

<dwr>
	<allow>
		<convert match="com.vo.User" converter="bean"></convert>
	
		<create javascript="jsUser" creator="spring" scope="request">
			<param name="beanName" value="userService"></param>
			<include method="findAllUsers" />
		</create>
	</allow>
</dwr>



最后是jsp页面部分:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>用户列表</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <table class="table_report">
	<tr> 
		<th>用户ID</th>
		<th>用户名称</th>
		<th>用户性别</th>
		<th>用户年龄</th>
		<th>用户地址</th>
		<th>用户电话</th>
		<th>用户邮箱</th>
    </tr>
    <!-- struts2最正规的取值方式 -->
<%--  <s:iterator id="user" value="%{#session.userList}">--%>
<%--   <s:iterator id="user" value="#session.userList">--%>
   <s:iterator id="user" value="#request.userList">
    <tr>
    	<td>${user.id}</td>
    	<td>${user.name}</td>
    	<td>${user.sex}</td>
    	<td>${user.age}</td>
    	<td>${user.address}</td>
    	<td>${user.phone}</td>
    	<td>${user.email}</td>
    </tr>
	</s:iterator>
  </table>
  </body>
<%request.removeAttribute("userList");%>
<%--<%session.removeAttribute("userList");%>--%>
</html>



访问地址:
http://localhost:8080/ZhiMing/findAllUsers.action



分享到:
评论
1 楼 gongjiuhui 2013-10-28  
         

相关推荐

    Struts1.2+Spring2.0+Ibatis2.0整合小项目

    只是一个非常非常简单的小例子而已。希望大家多多指教。QQ:286310709 MSN:conanzhangjie@hotmail.com.

    Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查

    本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...

    struts2+srping+ibatis整合实例OAWEBS

    本实例为struts2.0+spring2.5+ibatis2.3框架。 一、解压后先建立数据库,名为:shequ(本例采用的是MySQL5.5) 二、利用shequ.sql文件,初始化数据库。 三、部署工程,运行。 ibatis

    struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子

    我也是初学3个框架的整合,希望多多指教!

    想购物就购物源代码想购物就购物源代码

    ibatis3.0+spring2.5+struts2.0整合框架、适合做网上购物商城

    Spring 2.0 开发参考手册

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...

    AutoCode代码生成器 SSI 完整破解版

    AutoCode代码生成器(SSH版)【用于JAVA开发中的 Struts2.0 + Spring2.0 + Ibatis2.3 及以上框架版本整合程序开发】 强大的支撑功能,堪称JAVA SSI编程的利器,你绝对值得拥有!

    Spring-Reference_zh_CN(Spring中文参考手册)

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...

    spring chm文档

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

    Spring中文帮助文档

    13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 ...

    J2me案例DEMO

    工作中的一个J2ME手机客户端软件,后台采用struts+spring+ibatis作框架,UI端采用MIDP2.0规范,对于想学习J2EE和J2ME的朋友可以来看看,很好的整合案例。

    iuhyiuhkjh908u0980

    PrettyFaces优雅的解决了这个问题,包括诸如功能:网页装载行动,无缝的跟faces的导航整合,动态视图的ID分配和管理参数分析,无需配置,兼容其他JSF框架。P ... by zly06 2009-09-09 回复 (0) 相关博客 ant模板 ...

Global site tag (gtag.js) - Google Analytics