提示

本demo只是对SSM框架进行整合搭建的一个demo,并不包含其他的功能,只供ssm框架整合借鉴。

先对spring和springMVC框架进行整合

  1. 导入pom依赖
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target><junit.version>4.11</junit.version><spring-webmvc.version>5.3.19</spring-webmvc.version><spring-jdbc.version>5.3.16</spring-jdbc.version><jsp.version>2.2</jsp.version><jstl.version>1.2</jstl.version><servlet.version>2.5</servlet.version><log4j.version>1.2.17</log4j.version><slf4j.version>1.6.6</slf4j.version><fastjson.version>1.2.78</fastjson.version><mybatis.version>3.5.6</mybatis.version><mybatis-spring.version>2.0.7</mybatis-spring.version><druid.version>1.2.8</druid.version><mysql-connector.version>8.0.27</mysql-connector.version><jsr303.version>0.0.2</jsr303.version><lombok.version>1.18.22</lombok.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring-webmvc.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring-jdbc.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring-jdbc.version}</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>${jsp.version}</version></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet.version}</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis-spring.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><dependency><groupId>fun.fengwk.auto-validation</groupId><artifactId>jsr303</artifactId><version>${jsr303.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies><build><finalName>ssm_demo</finalName><!--配置静态资源文件导出--><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build>
  1. web.xml文件配置dispatcherServlet和字符过滤器
<servlet><servlet-name>dispacherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!--项目初始化就加载DispatcherServlet--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispacherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--配置字符过滤器, name只能为encoding--><filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--监听器,在项目启动时,同时启动spring工厂,使得dao和service以及druid连接池启动--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--配置spring文件路径--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>
  1. 建立springmvc.xml文件
<context:component-scan base-package="com.demo.ssm.controller"/><mvc:annotation-driven/><bean id="view" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/>
</bean><!--过滤静态资源-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<mvc:resources mapping="/images/**" location="/images/"/>
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
  1. 建立各个package,完整demo结构如图所示

  2. 在controller中编写test方法测试springMVC是否能够正常运行

@Controller
@RequestMapping("/admin")
public class AdminController {@Autowiredprivate AdminService adminService;@GetMapping("/getOneAdmin")public String test(Model model) {Admin admin = adminService.getOneAdmin();System.out.println(JSON.toJSONString(admin));model.addAttribute("admin", admin);return "t";}
}

index.jsp文件内容

<body><a href="${pageContext.request.contextPath}/admin/getOneAdmin">测试</a>
</body>

t.jsp文件内容

<body>这里是测试界面...
</body>

到此为止,部署tomcat之后能够正常从index.jsp页面跳转到t.jsp页面,说明springMVC搭建成功。

如果页面跳转时出现404页面找不到
在Project Structure下Artifacts中选择项目 ->WEB-INF,在这个文件夹下新建lib文件夹,然后点击+号然后选择所有的library文件并保存,重启服务器即可

整合mybatis

建立applicationContext.xml文件配置mybatis相关的内容

<!--spring接管mybatis-->
<!--dataSource Druid连接池-->
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!--初始化建立物理连接个数--><property name="initialSize" value="5"/><!--最小连接池数量--><property name="minIdle" value="5"/><!--最大连接池数量--><property name="maxActive" value="20"/><!--获取连接的最大等待时间,单位毫秒--><property name="maxWait" value="60000"/>
</bean><!--SqlSessionFactory 要dataSource支持-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--注入连接池--><property name="dataSource" ref="dataSource"/><!--使得实体类中用类名作为别名--><property name="typeAliasesPackage" value="com.demo.ssm.pojo"></property><!--配置mapper文件所在的位置--><property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean><!--Dao 需要MapperScannerConfigurer支持-->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.demo.ssm.dao"/><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean><!--告知spring注解位置,保证注解有效性,不扫描controller注解-->
<context:component-scan base-package="com.demo.ssm"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan><!--引入事务管理器-->
<bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/>
</bean><!--告知spring定制事务是基于DataSourceTransactionManager-->
<tx:annotation-driven transaction-manager="tx"/>

接下来在service和dao层分别编写一个getOneAdmin方法测试是否能够成功从数据库查询到数据
AdminMapper内容

public interface AdminMapper {Admin getOneAdmin();
}

AdminMapper.xml内容

<mapper namespace="com.demo.ssm.dao.AdminMapper"><select id="getOneAdmin" resultType="com.demo.ssm.pojo.Admin">SELECT * FROM admin LIMIT 1;</select>
</mapper>

AdminService内容

public interface AdminService {Admin getOneAdmin();
}

AdminServiceImpl内容

@Service("adminService")
public class AdminServiceImpl implements AdminService {@Autowiredprivate AdminMapper adminMapper;@Overridepublic Admin getOneAdmin() {System.out.println("test......");return adminMapper.getOneAdmin();}
}

db_library.sql文件内容

Navicat MySQL Data TransferSource Server         : localhost
Source Server Version : 50729
Source Host           : localhost:3306
Source Database       : db_libraryTarget Server Type    : MYSQL
Target Server Version : 50729
File Encoding         : 65001Date: 2022-04-23 23:05:43
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `admin`
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`username` varchar(20) DEFAULT NULL COMMENT '用户名',`password` varchar(20) DEFAULT NULL COMMENT '密码',`adminType` int(11) DEFAULT NULL COMMENT '管理员类型',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员';-- ----------------------------
-- Records of admin
-- ----------------------------
INSERT INTO `admin` VALUES ('1', 'admin', '12345', '1');
INSERT INTO `admin` VALUES ('2', 'test', '12345', '0');

到这里SSM框架整合就完成啦,运行服务器即可测试是否整合成功,后续的功能代码可以在此demo的基础上进行编写。
自己学习的ssm整合的操作,实操了一遍能够正常运行,若小伙伴发现了其他的问题也可以留言交流,共同进步!

SSM框架整合demo相关推荐

  1. (转)淘淘商城系列——SSM框架整合之Dao层整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72721093 一个项目中往往有三层即Dao层.Service层和Web层,看标题就知道了,本文 ...

  2. SpringMvc框架及SSM框架整合

    SpringMvc框架及SSM框架整合 一.SpringMvc相关知识 1.Spring和SpringMvc的关系 ​ 1.1.Spring是IOC和AOP的容器框架,SpringMVC是基于Spri ...

  3. SSM Chapter 12 SpringMVC扩展和SSM框架整合

    SSM Chapter 12 SpringMVC扩展和SSM框架整合 笔记 本章目标: 掌握JSON对象的处理 理解数据转换和格式化 了解本地化 掌握Spring MVC+Spring+MyBatis ...

  4. JavaEE——SSM框架整合实现学生信息注册案例

    目录 十.SSM框架整合实现学生信息注册案例 1. 创建06-ssm的web项目 2. 修改web.xml版本为4.0 3. 更新pom.xml文件 4. jdbc的属性文件和日志文件 5. appl ...

  5. 全栈开发实战 | SSM框架整合完整教程

    "一个人最好的状态:梦想藏在心里,行动落于腿脚." 目录 1.前言 2.基本概念 2.1 MyBatis 2.2 Spring 2.3 SpringMVC 3.开发环境搭建 3.1 ...

  6. java ssm小案例_简易的SSM框架整合小案例

    简易的SSM框架整合小案例 一.创建一个web工程的maven项目 1.项目名随便起 2.选择好你的maven路径,然后finish 二.配置pom.xml文件 org.springframework ...

  7. SSM框架整合完整案例

    SSM框架整合 一.整合思路 二.案例实战 1. 项目前期准备 2. 整合dao层 ① mybatis全局配置文件(SqlConfig.xml) ② 配置spring.xml ③ 编写POJO类(ja ...

  8. SSM框架整合所需相关jra包的maven地址

    SSM框架整合: jdk1.7 +maven 3.11+tomcat7+mysql+velocity <project xmlns="http://maven.apache.org/P ...

  9. SSM框架整合配置文件

    SSM框架整合配置文件 SSM框架整合的各个基本配置文件的模板,学习狂神SSM视频总结的配置笔记,方便以后SSM项目的搭建复用. 1. 项目的整体结构 2 基本环境配置 2.1 相关的Maven依赖: ...

  10. SSM框架整合+简单案例实现

    SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...

最新文章

  1. 98级计算机应用教材,西安外事学院98级计算机应用9806班毕业二十年校友返校
  2. 服务端如何识别是selenium在访问以及解决方案参考二
  3. Sqoop 同步数据到mysql, Can't parse input data: '\N'
  4. Windows7中Prefetch预读文件技术详解
  5. tensorflow从入门到精通100讲(一)-如何申明一个tensor,Tensorflow中最重要的基本操作
  6. 学习响应式BootStrap来写融职教育网站,Bootsrtap第十一天Dplayer播放器
  7. python能做什么游戏-你也可以用Python开发出一款火遍全球的游戏!
  8. redis数据类型之sorted set
  9. 【渝粤教育】广东开放大学 电子商务项目管理 形成性考核 (22)
  10. VC知识库在线杂志(重要)
  11. MD5加密的两种方式
  12. 流程图详解 new String(“abc“) 创建了几个字符串对象
  13. jquery 鼠标按住移动的解决方案
  14. 异形与铁血战士关系 时间线
  15. 【从零开始学深度学习编译器】九,TVM的CodeGen流程
  16. 二 名词性从句(2021-11-01)
  17. 用python实现自动化办公------定时发送微信消息
  18. vue 使用vue-canvas-poster生成自定义海报
  19. ffmpeg添加mpeg ps流的pcm的解码支持
  20. C++ Awkward Digits

热门文章

  1. 微pe工具箱 系统安装教程_wepe启动盘制作教程|微pe工具箱怎么制作u盘启动盘
  2. MQL5 中的交易操作 - 很简单
  3. 分享:一个Java写的教师信息管理系统(windowbuilder)(附码云源码)~~~
  4. 解决EXSi6.0没有WEB Client的问题
  5. 【转载】Synopsys 推荐的 UPF 流程简介
  6. Android如何实现汉字手写输入法(带中文自动识别提示)
  7. matlab:xlsread
  8. 解决报错:错误使用 xlsread未找到工作表 ‘sheet1‘
  9. dplayer安装php_Dplayer播放器集成p2p加速源码分享
  10. 数据库设计说明文档自动生成(支持Mysql、Oracle和Postgres)