struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo

下面详细讲解“struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo”的完整攻略。

一、环境配置

  1. 下载并安装Java、Tomcat和MySQL;
  2. 搭建好Java和Tomcat的环境,配置好MySQL数据库。

二、搭建Struts2框架

  1. 创建Maven项目,引入Struts2的依赖,具体如下:
<dependencies>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.2.3</version>
    </dependency>
</dependencies>
  1. 创建struts.xml文件并配置Action映射,具体如下:
<?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 name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <result name="success">/hello.jsp</result>
        </action>
    </package>
</struts>
  1. 创建Action处理类并编写对应逻辑,具体如下:
package com.demo.action;

public class HelloAction {
    public String execute() {
        return "success";
    }
}
  1. 创建JSP视图文件,具体如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, Struts2!</h1>
</body>
</html>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

三、搭建Spring框架

  1. 引入Spring的依赖,具体如下:
<dependencies>
    <!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>
</dependencies>
  1. 创建Spring配置文件applicationContext.xml并配置Bean,具体如下:
<?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.xsd">
    <!-- 配置Action -->
    <bean id="helloAction" class="com.demo.action.HelloAction"/>
</beans>
  1. 在struts.xml中引入Spring相关配置,具体如下:
<?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 name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <interceptor-ref name="defaultStack">
                <param name="exception.logEnabled">true</param>
                <param name="exception.logLevel">ERROR</param>
            </interceptor-ref>
            <result name="success">/hello.jsp</result>
        </action>
    </package>
    <!-- 引入Spring相关配置 -->
    <bean class="org.springframework.web.struts.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory" value="spring"/>
    <include file="applicationContext.xml"/>
</struts>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

四、搭建MyBatis框架

  1. 引入MyBatis的依赖,具体如下:
<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
</dependencies>
  1. 编写MyBatis的配置文件mybatis-config.xml,具体如下:
<?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>
    <properties resource="jdbc.properties"/>
    <typeAliases>
        <package name="com.demo.entity"/>
    </typeAliases>
    <mappers>
        <mapper resource="com/demo/dao/HelloMapper.xml"/>
    </mappers>
</configuration>
  1. 配置数据源,随便一家dataSource的配置即可,比如c3p0。这里就不述了。

  2. 创建DAO接口HelloMapper.java,具体如下:

package com.demo.dao;

import com.demo.entity.Hello;

public interface HelloMapper {
    public Hello selectById(int id);
}
  1. 创建DAO实现类HelloMapper.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.demo.dao.HelloMapper">
    <resultMap id="helloResultMap" type="com.demo.entity.Hello">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="message" column="message"/>
    </resultMap>
    <select id="selectById" resultMap="helloResultMap" parameterType="int">
        select * from hello where id = #{id}
    </select>
</mapper>
  1. 创建实体类Hello.java,具体如下:
package com.demo.entity;

public class Hello {
    private int id;
    private String name;
    private String message;

    // 省略getter和setter
}
  1. 在Spring的配置文件applicationContext.xml中配置MyBatis相关组件,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xsi:schemaLocation="
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
          http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
          http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">

    <!-- 数据源配置 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <!-- 省略数据源配置 -->
    </bean>

    <!-- MyBatis配置 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.demo.dao"/>
    </bean>

    <!-- HelloMapper对应的DAO -->
    <bean id="helloMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.demo.dao.HelloMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

    <!-- 配置Action -->
    <bean id="helloAction" class="com.demo.action.HelloAction">
        <property name="helloMapper" ref="helloMapper"/>
    </bean>

</beans>
  1. 在HelloAction中注入DAO,具体如下:
package com.demo.action;

import com.demo.dao.HelloMapper;
import com.demo.entity.Hello;

public class HelloAction {
    private HelloMapper helloMapper;

    public String execute() {
        Hello hello = helloMapper.selectById(1);
        return "success";
    }

    public void setHelloMapper(HelloMapper helloMapper) {
        this.helloMapper = helloMapper;
    }
}
  1. 在struts.xml中注入Spring相关组件,具体如下:
<?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 name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.devMode" value="true"/>
    <package name="mypackage" namespace="/" extends="struts-default">
        <action name="hello" class="com.demo.action.HelloAction" method="execute">
            <interceptor-ref name="defaultStack">
                <param name="exception.logEnabled">true</param>
                <param name="exception.logLevel">ERROR</param>
            </interceptor-ref>
            <result name="success">/demo/hello.jsp</result>
        </action>
    </package>
    <!-- 引入Spring相关配置 -->
    <bean class="org.springframework.web.struts.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory" value="spring"/>
    <include file="classpath*:/spring/applicationContext.xml"/>
</struts>
  1. 部署到Tomcat服务器上并启动,访问 http://localhost:8080/hello.action 即可看到"Hello, Struts2!"的欢迎页面。

五、示例场景

  1. 实现一个用户管理功能,包含用户列表展示、用户详情查看、用户新增和编辑等功能。
  2. 基于文件上传实现一个图片上传功能。

本示例仅涉及Struts2、Spring和MyBatis框架的整合集成,具体的业务逻辑实现需要读者根据实际需求进行开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Data JPA中的动态查询实例

    下面是关于 “Spring Data JPA中的动态查询实例” 的完整攻略。 什么是动态查询 Spring Data JPA 提供丰富的方法用于查询数据,但在实际场景中,由于数据查询条件多种多样,无法事先确定,因此需要在运行时根据不同的条件动态构造 SQL 语句。动态查询是指根据不同的条件构造 SQL 语句,从而满足不同的查询需求。 常见的动态查询包括按照某…

    Java 2023年5月20日
    00
  • SpringBoot特点之依赖管理和自动装配(实例代码)

    SpringBoot特点之依赖管理和自动装配(实例代码) 依赖管理 Spring Boot的依赖管理采用了“约定优于配置”的原则,省去了繁琐的依赖配置。Spring Boot通过Starter POMs来管理依赖,Starter POMs是一种特殊的POM文件,包含了一系列相关的依赖,我们只需要添加相应的Starter POM,即可快速地集成一些常用的依赖。…

    Java 2023年5月15日
    00
  • SpringBoot如何根据用户系统时区动态展示时间

    首先,在SpringBoot中获取当前用户的时区,一般采用以下方式: @RequestMapping("/getTime") public String getTime(HttpServletRequest request) { TimeZone timeZone = (TimeZone) request.getSession().get…

    Java 2023年5月20日
    00
  • Java测试框架Mockito的简明教程

    “Java测试框架Mockito的简明教程”主要介绍了Mockito这个Java测试框架的基本使用方法和注意事项。Mockito旨在简化Java测试的过程,帮助开发者创建并执行相对干净和更方便的测试。 以下是详细的攻略: 什么是Mockito Mockito是一个用于Java测试的框架,用于创建和验证Mock对象。Mock对象是模拟真实对象的测试对象,它们用…

    Java 2023年5月26日
    00
  • net操作access数据库示例分享

    下面是详细的“net操作access数据库示例分享”的攻略。 简介 在使用.NET框架进行开发时,经常需要操作数据库。使用.NET操作Access数据库可以使用两种方式:OleDb和Odbc。OleDb适用于Access、Excel和SQL Server等数据库,而Odbc适用于通用数据库。下文将以OleDb方式为例,分享操作Access数据库的示例。 前置…

    Java 2023年5月19日
    00
  • springboot中使用jpa下hibernate的ddl-auto方式

    下面是使用JPA下Hibernate的ddl-auto方式在Spring Boot中的完整攻略。 1. 配置JPA数据源 在使用JPA下Hibernate的ddl-auto方式之前,我们需要先配置JPA的数据源。例如,我们可以使用application.properties文件来配置JPA数据源,方法如下: spring.datasource.url=jdb…

    Java 2023年5月20日
    00
  • 关于Java的ArrayList数组自动扩容机制

    关于Java的ArrayList数组自动扩容机制,一般我们可以从两个角度来讲解:实际使用场景和内部实现原理。 实际使用场景 在我们实际开发中,ArrayList是一个非常常用的数据结构。它具有动态扩容的特性,因此可以根据实际使用情况自动调整大小。这在许多场景中非常实用,例如需要存储大量数据的情况,或者需要频繁进行插入、删除操作的情况。下面是两个常见的示例说明…

    Java 2023年5月26日
    00
  • java中的4种循环方法示例详情

    Java 中的 4 种循环方法 在 Java 中,我们可以使用 4 种不同的循环方法来循环遍历数据或执行某些操作,分别是:for 循环、while 循环、do…while 循环和增强型 for 循环,下面我们看一下每个循环的用法及示例。 for 循环 for 循环是一种指定循环次数的循环结构,其语法为: for (initialization; termin…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部