用maven 整合 struts2.3+spring3.2+mybatis3.2实例
来源:互联网 发布:纳网科技 中文域名 编辑:程序博客网 时间:2024/05/22 13:18
经过几天的努力,我的struts2.3+spring3.2+mybatis3.2整合终于通过了测试,并正式运行了,下面把个配置贴出来
第一个是maven的配置文件 pom.xml
<?xml version="1.0" encoding="UTF-8" ?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.dahafo.um</groupId> <artifactId>um</artifactId> <packaging>war</packaging> <version>1.1.1-SNAPSHOT</version> <name>um Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> <scope>system</scope> <systemPath>D:\tomcat\apache-tomcat-7.0.39_um\lib\servlet-api.jar</systemPath> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> <scope>system</scope> <systemPath>D:\tomcat\apache-tomcat-7.0.39_um\lib\jsp-api.jar</systemPath> </dependency> <!-- log start--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- log end--><!-- struts2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.14</version> </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> <artifactId>xwork-core</artifactId> <version>2.3.14</version> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>3.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.3.14</version> </dependency> <!-- spring end --> <!-- mysql connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.2.2.RELEASE</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <path>/um</path> <url>http://localhost:8080/manager/text</url> <server>tomcat</server> </configuration> </plugin> </plugins> </pluginManagement> <finalName>um</finalName> </build></project>第二个是struts2的配置文件struts.xml 这个文件放在src目录下,文件名称不能为其他
<?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> <constant value="false" name="struts.enable.DynamicMethodInvocation"/> <constant value="true" name="struts.devMode"/> <!-- 将action托管给spring --> <constant name="struts.objectFactory" value="spring" /> <package name="default" extends="struts-default" namespace="/"> <default-action-ref name="index"/> <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="error" exception="java.lang.Exception"/> </global-exception-mappings> </package> <include file="com/dahafo/um/config/strutsConfig/user.xml"/></struts>
user.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> <package name="user" extends="default" namespace="/user" > <action name="newUser" class="userAction"> <result name="success">/success.jsp</result> </action> </package> </struts>
第三个是web.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name> <!-- 初始化spring配置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring*.xml</param-value> </context-param> <!-- struts2 的拦截器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring 监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>第四个是spring的配置文件 spring-config.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!-- dbcp数据源 --> <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/um" /> <property name="username" value="qyl" /> <property name="password" value="qyl" /> <!-- 初始化数 --> <property name="initialSize" value="2" /> <!-- 最大连接数 --> <property name="maxActive" value="5" /> <!-- 最大空闲连接数 --> <property name="maxIdle" value="1" /> <!-- 最小空闲连接数 --> <property name="minIdle" value="1" /> </bean> <!-- MyBatis在spring中Bean的配置,都是固定的 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="WEB-INF/mybatis.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <!-- 配置事务管理器,注意这里的dataSource和SqlSessionFactoryBean的dataSource要一致,不然事务就没有作用了--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> </beans>spring-config-action.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="userAction" class="com.dahafo.um.action.UserAction" scope="prototype"> <property name="userService" ref="userServiceImpl" /> </bean></beans>spring-config-service.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="userServiceImpl" class="com.dahafo.um.service.impl.UserServiceImpl"> <property name="userDao" ref="userDaoImpl" /> </bean> </beans>spring-Config-dao.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="userDaoImpl" class="com.dahafo.um.dao.impl.UserDaoImpl"> <property name="sqlSession" ref="sqlSession" /> </bean> </beans>spring的配置文件都放在WEB-INF下面。
第五个是mybatis的配置文件 mybatis.xml 也放在WEB-INF下了,当然可以在其他地方,同时spring-config.xml 里面的mybatis配置的文件路径也要变
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 别名 --> <typeAliases> <typeAlias alias="user" type="com.dahafo.um.entity.User"/> </typeAliases> <mappers> <mapper resource="/com/dahafo/um/config/mybatisConfig/userMapper.xml" /> </mappers></configuration>userMapper.xml
<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.dahafo.um.entity.User"> <resultMap type="com.dahafo.um.entity.User" id="userResult"> <result property="name" column="name" /> <result property="id" column="id" jdbcType="INTEGER" javaType="java.lang.Integer" /> <result property="age" column="age" jdbcType="INTEGER" javaType="java.lang.Integer" /> </resultMap> <insert id="insertUser" parameterType="user"> insert into user(name,age) values(#{name},#{age}) </insert></mapper>
package com.dahafo.um.action;import com.dahafo.um.dao.UserDao;import com.dahafo.um.entity.User;import com.dahafo.um.service.UserService;import com.opensymphony.xwork2.ActionSupport;/** * @author Zevi Qian E-mail:gosun@foxmail.com * @version 创建时间:2013-5-15 下午11:10:52 * 用户控制器 */public class UserAction extends ActionSupport{private UserService userService;private User user=null;/* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#execute() */@Overridepublic String execute() throws Exception {user=new User();user.setName("玩哈哈");user.setAge(532);System.out.println("------------到这里了");userService.newUser(user);return "success";} public UserService getUserService() {return userService;}public void setUserService(UserService userService) {this.userService = userService;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}}userService的实现类 userServiceImpl.java 接口就不写了,太简单,没意思,后面接口就都不写了
package com.dahafo.um.service.impl;import com.dahafo.um.dao.UserDao;import com.dahafo.um.entity.User;import com.dahafo.um.service.UserService;/** * @author Zevi Qian E-mail:gosun@foxmail.com * @version 创建时间:2013-5-15 下午10:54:09 * 类说明 */public class UserServiceImpl implements UserService {private UserDao userDao;/* (non-Javadoc) * @see com.dahafo.um.service.UserService#newUser() */@Overridepublic void newUser(User user) {userDao.insertUser(user);}public UserDao getUserDao() {return userDao;}public void setUserDao(UserDao userDao) {this.userDao = userDao;}}userDao的实现 UserDaoImpl.java
package com.dahafo.um.dao.impl;import java.util.List;import org.mybatis.spring.SqlSessionTemplate;import com.dahafo.um.dao.UserDao;import com.dahafo.um.entity.User;/** * @author Zevi Qian E-mail:gosun@foxmail.com * @version 创建时间:2013-5-15 上午11:52:58 * 类说明 */public class UserDaoImpl implements UserDao {private SqlSessionTemplate sqlSession;/* (non-Javadoc) * @see com.dahafo.um.dao.UserDao#insertUser(com.dahafo.um.entity.User) */@Overridepublic void insertUser(User user) {sqlSession.insert("insertUser", user);}/* (non-Javadoc) * @see com.dahafo.um.dao.UserDao#findAll() */@Overridepublic List<User> findAll() {return sqlSession.selectList("selectAllUser");}public SqlSessionTemplate getSqlSession() {return sqlSession;}public void setSqlSession(SqlSessionTemplate sqlSession) {this.sqlSession = sqlSession;}}好了,主要的代码都贴出来了,最后贴个成功的图片
看到这个图很兴奋的啊,几天的努力终于见成果了。
这个页面出现,说明三个框架架构并测试成功。
再看看数据库里是不是插入数据了?
很幸运的看到,我们new的那条用户数据在数据库里了。
结构的时候肯定会遇到许多问题,要有耐心,多找原因。
祝大家好运
- 用maven 整合 struts2.3+spring3.2+mybatis3.2实例
- myBatis3,spring3,struts2.2整合
- struts2.3+spring3.2+mybatis3.2整合及示例代码
- spring3+struts2+mybatis3 -2
- Struts2+spring3+mybatis3整合
- SpringMvc3.2+Spring3.2+mybatis3+maven项目底层架构整合
- Struts2+Spring3+Mybatis3 整合详解
- spring3+struts2+mybatis3框架整合
- Spring3+Struts2+Mybatis3 -3
- Struts2.3+Spring3.2整合实例代码下载
- Struts2.3 + Spring3.2 整合
- Mybatis3.2和Spring3.x整合----Mybtis3.x+Spring3.x
- (struts2.3.4+spring3.2+mybatis3)整合中jar包作用介绍
- Struts2、Spring3、MyBatis3整合ExtJS,完成CheckNodeColumnTree
- Spring3.0.5+Mybatis3.0.5+Struts2.0.6整合
- Struts2、Spring3、MyBatis3整合ExtJS,完成CheckNodeColumnTree
- Spring3.0.5+Mybatis3.0.5+Struts2.0.6整合
- Struts2、Spring3、MyBatis3整合ExtJS,完成ColumnTree
- asp.net 错误:Maximum length exceeded 解决方案
- matlab批量保存图像至指定文件夹(revised) mkdir cd 等
- 我的java开始学习之路
- struts2.3整合spring3.2出现无法注入的问题
- 使用 Bumblebee 控制 NVIDIA 双显卡(ubuntu13.04-X64)
- 用maven 整合 struts2.3+spring3.2+mybatis3.2实例
- JVM关闭钩子(1) —— 概念和应用
- 数据结构中排序算法总结(C++版)
- VMware虚拟机XP系统安装教程
- 在Github上重命名仓库
- Generate Parentheses
- ibus开机启动
- JVM关闭钩子(2)—— 源码浅析
- 用DOS命令,获取一个目录下的文件数目