重构测试项目为spring+springMVC+Mybatis框架
- 人工智能
- 2025-09-05 09:18:02

重构测试项目为spring+springMVC+Mybatis框架 背景
继上次将自动化测试时的医药管理信息系统项目用idea运行成功后,由于项目结构有些乱,一部分代码好像也重复,于是打算重新重构以下该项目,这次先使用spring+springMVC+Mybatis框架
一、设计项目目录结构按ssm框架重新设计了目录结构,删除了一些重复代码
├─.idea ├─src │ └─main │ ├─java │ │ └─mms │ │ ├─controller │ │ ├─interceptors │ │ ├─mapper │ │ ├─pojo │ │ └─services │ ├─resources │ │ ├─mybatis │ │ │ ├─mybatis-config.xml │ │ │ └─mappers │ │ ├─spring │ │ │ ├─applicationContext.xml │ │ │ ├─applicationContext-mybatis.xml │ │ │ └─springMVCConfig.xml │ │ ├─jdbc.properties │ │ ├─log4j.properties │ │ └─static │ │ ├─css │ │ ├─images │ │ ├─js │ │ └─myjavascript │ └─webapp │ └─WEB-INF │ └─templates │ ├─agency │ ├─client │ └─medicine └─target同时也修改了文件名(tabs–>templates),如果你也修改了记得将对应的代码也进行修改
二、将war包中的class由于老师给的是项目打包后的war包,代码都是.class文件,我们需要使用工具JD-GUI将.class文件转换为.java文件,转换后将.java文件放入对应的包下。
三、修改配置文件springMVCConfig.xml并添加控制器 由于资源文件位置发生了改变,重启项目后会出现资源访问404的错误,我们需要对相关的配置文件springMVCConfig.xml进行修改:添加静态资源映射,调整视图解析器配置和访问请求配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// .springframework.org/schema/beans" xmlns:xsi="http:// .w3.org/2001/XMLSchema-instance" xmlns:p="http:// .springframework.org/schema/p" xmlns:context="http:// .springframework.org/schema/context" xmlns:mvc="http:// .springframework.org/schema/mvc" xsi:schemaLocation="http:// .springframework.org/schema/beans http:// .springframework.org/schema/beans/spring-beans.xsd http:// .springframework.org/schema/mvc http:// .springframework.org/schema/mvc/spring-mvc-4.0.xsd http:// .springframework.org/schema/context http:// .springframework.org/schema/context/spring-context.xsd"> <!-- 注解驱动 --> <mvc:annotation-driven /> <!-- 定义Controller的扫描包 --> <context:component-scan base-package="mms.controller" /> <!-- 定义静态资源映射 --> <mvc:resources mapping="/static/**" location="classpath:/static/" /> <!-- 定义视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/templates/" /> <property name="suffix" value=".html" /> </bean> <!-- 处理静态资源被“/”所拦截的问题 --> <mvc:default-servlet-handler /> <!-- 定义拦截器 --> <mvc:interceptors> <mvc:interceptor> <!-- 所有的请求都进入 --> <mvc:mapping path="/**"/> <!-- 不拦截登陆页面 --> <mvc:exclude-mapping path="/login.html" /> <mvc:exclude-mapping path="/static/css/*" /> <mvc:exclude-mapping path="/static/js/**" /> <mvc:exclude-mapping path="/static/images/*" /> <!-- 不拦截处理登陆的业务 --> <mvc:exclude-mapping path="/Login/loginUser" /> <bean class="mms.interceptors.MyHandlerInterceptor"/> </mvc:interceptor> </mvc:interceptors> </beans> 由于之前的html文件都是直接暴露在根目录下的静态资源,因此可以直接通过 URL 访问。而现在我们将html文件移动到 WEB-INF 目录下,需要视图解析器通过控制器返回视图名去访问,因此我们还需要添加控制器IndexController package mms.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * @author Orange peel * @create 2025-02-16 19:08 */ @Controller public class IndexController { @RequestMapping("/index") public String showIndex() { return "index"; // 返回的视图名称 } @RequestMapping("/templates/client/Search") public String clientSearch() { return "client/Search"; } @RequestMapping("/templates/agency/Search") public String agencySearch() { return "agency/Search"; } @RequestMapping("/templates/medicine/Search") public String medicineSearch() { return "medicine/Search"; } @RequestMapping("/templates/client/Entry") public String clientEntry() { return "client/Entry"; } @RequestMapping("/templates/agency/Entry") public String agencyEntry() { return "agency/Entry"; } @RequestMapping("/templates/medicine/Entry") public String medicineEntry() { return "medicine/Entry"; } @RequestMapping("/templates/client/Delete") public String clientDelete() { return "client/Delete"; } @RequestMapping("/templates/agency/Delete") public String agencyDelete() { return "agency/Delete"; } @RequestMapping("/templates/medicine/Delete") public String medicineDelete() { return "medicine/Delete"; } @RequestMapping("/templates/client/Modify") public String clientModify() { return "client/Modify"; } @RequestMapping("/templates/agency/Modify") public String agencyModify() { return "agency/Modify"; } @RequestMapping("/templates/medicine/Modify") public String medicineModify() { return "medicine/Modify"; } @RequestMapping("/templates/client/Browse") public String clientBrowse() { return "client/Browse"; } @RequestMapping("/templates/agency/Browse") public String agencyBrowse() { return "agency/Browse"; } @RequestMapping("/templates/medicine/Browse") public String medicineBrowse() { return "medicine/Browse"; } @RequestMapping("/templates/client/Report") public String clientReport() { return "client/Report"; } @RequestMapping("/templates/agency/Report") public String agencyReport() { return "agency/Report"; } @RequestMapping("/templates/medicine/Report") public String medicineReport() { return "medicine/Report"; } @RequestMapping("/templates/User") public String User() { return "User"; } } 四、配置tomcat后直接启动即可等下次有空再重构成springboot项目,加纳~
重构测试项目为spring+springMVC+Mybatis框架由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“重构测试项目为spring+springMVC+Mybatis框架”
下一篇
李代数和李群的转化方法