网上有很多ssm整合的教程,这里给像我这样的初学的新手提供一个整合方法,同时也记录一下自己的学习进度。

同时推荐观看相关视频  https://www.bilibili.com/video/av53621216/ 推荐老师讲的spring和springMVC这两个框架的整合贼棒!(1p—6p),spring和mabatis的话在找找资料看看,感觉我这个写的太乱了(/苦恼)

数据库相关:因为是测试整合的,所以数据库设计特别简单:

数据库名:blog;表名:user;

表中数据:

1.创建maven项目

2.初始项目结构:

3.在创建的初始目录结构中:src/main/java这个是放置java文件,而src/main/resources放置配置文件。

在pom.xml中引入jar包坐标:

  1 <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/xsd/maven-4.0.0.xsd">
2 <modelVersion>4.0.0</modelVersion>
3 <groupId>com.hhxy</groupId>
4 <artifactId>blog</artifactId>
5 <version>0.0.1-SNAPSHOT</version>
6 <packaging>war</packaging>
7
8
9 <properties>
10 <spring.version>5.0.2.RELEASE</spring.version>
11 <slf4j.version>1.6.6</slf4j.version>
12 <log4j.version>1.2.12</log4j.version>
13 <mysql.version>5.1.6</mysql.version>
14 <mybatis.version>3.4.5</mybatis.version>
15 </properties>
16
17 <dependencies>
18
19 <!-- spring -->
20 <dependency>
21 <groupId>org.aspectj</groupId>
22 <artifactId>aspectjweaver</artifactId>
23 <version>1.6.8</version>
24 </dependency>
25
26 <dependency>
27 <groupId>org.springframework</groupId>
28 <artifactId>spring-aop</artifactId>
29 <version>${spring.version}</version>
30 </dependency>
31
32 <dependency>
33 <groupId>org.springframework</groupId>
34 <artifactId>spring-context</artifactId>
35 <version>${spring.version}</version>
36 </dependency>
37
38
39 <dependency>
40 <groupId>org.springframework</groupId>
41 <artifactId>spring-web</artifactId>
42 <version>${spring.version}</version>
43 </dependency>
44
45 <dependency>
46 <groupId>org.springframework</groupId>
47 <artifactId>spring-webmvc</artifactId>
48 <version>${spring.version}</version>
49 </dependency>
50
51 <dependency>
52 <groupId>org.springframework</groupId>
53 <artifactId>spring-test</artifactId>
54 <version>${spring.version}</version>
55 </dependency>
56
57 <dependency>
58 <groupId>org.springframework</groupId>
59 <artifactId>spring-tx</artifactId>
60 <version>${spring.version}</version>
61 </dependency>
62
63 <dependency>
64 <groupId>org.springframework</groupId>
65 <artifactId>spring-jdbc</artifactId>
66 <version>${spring.version}</version>
67 </dependency>
68
69 <dependency>
70 <groupId>junit</groupId>
71 <artifactId>junit</artifactId>
72 <version>4.12</version>
73 <scope>compile</scope>
74 </dependency>
75
76 <dependency>
77 <groupId>mysql</groupId>
78 <artifactId>mysql-connector-java</artifactId>
79 <version>${mysql.version}</version>
80 </dependency>
81
82 <dependency>
83 <groupId>javax.servlet</groupId>
84 <artifactId>servlet-api</artifactId>
85 <version>2.5</version>
86 <scope>provided</scope>
87 </dependency>
88
89 <dependency>
90 <groupId>javax.servlet.jsp</groupId>
91 <artifactId>jsp-api</artifactId>
92 <version>2.0</version>
93 <scope>provided</scope>
94 </dependency>
95
96 <dependency>
97 <groupId>jstl</groupId>
98 <artifactId>jstl</artifactId>
99 <version>1.2</version>
100 </dependency>
101
102 <!-- log start -->
103 <dependency>
104 <groupId>log4j</groupId>
105 <artifactId>log4j</artifactId>
106 <version>${log4j.version}</version>
107 </dependency>
108
109 <dependency>
110 <groupId>org.slf4j</groupId>
111 <artifactId>slf4j-api</artifactId>
112 <version>${slf4j.version}</version>
113 </dependency>
114
115 <dependency>
116 <groupId>org.slf4j</groupId>
117 <artifactId>slf4j-log4j12</artifactId>
118 <version>${slf4j.version}</version>
119 </dependency>
120 <!-- log end -->
121 <dependency>
122 <groupId>org.mybatis</groupId>
123 <artifactId>mybatis</artifactId>
124 <version>${mybatis.version}</version>
125 </dependency>
126
127 <dependency>
128 <groupId>org.mybatis</groupId>
129 <artifactId>mybatis-spring</artifactId>
130 <version>1.3.0</version>
131 </dependency>
132
133 <dependency>
134 <groupId>c3p0</groupId>
135 <artifactId>c3p0</artifactId>
136 <version>0.9.1.2</version>
137 <type>jar</type>
138 <scope>compile</scope>
139 </dependency>
140
141 </dependencies>
142 <build>
143 <finalName>ssm</finalName>
144 <pluginManagement>
145 <plugins>
146 <plugin>
147 <groupId>org.apache.maven.plugins</groupId>
148 <artifactId>maven-compiler-plugin</artifactId>
149 <version>3.2</version>
150 <configuration>
151 <source>1.8</source>
152 <target>1.8</target>
153 <encoding>UTF-8</encoding>
154 <showWarnings>true</showWarnings>
155 </configuration>
156 </plugin>
157 </plugins>
158 </pluginManagement>
159 </build>
160
161 </project>

4.创建好项目后,在src/main/java中创建包:如图所示:

5.根据数据库设计实体类,同时在控制层、mapper层、service层创建相应的类。如图:

6.开始的准备步骤准备完毕,接下来开始整合。

ssm整合是spring+springMVC+mybatis这三个框架进行整合,是要拿spring框架对springMVC和mybatis进行整合。

7.下面对三个框架进行整合:

创建applicationContext.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:context="http://www.springframework.org/schema/context"
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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- =============开启注解扫描Spring中只需要扫描service和mapper============ -->
<context:component-scan base-package="com.hhxy.plx" >
<!--配置哪些注解不扫描exclude 是不处理的-->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan> <!-- ==========================读取jdbc工具类==================================== -->
<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean> <!--==============================配置和MyBatis的整合====================== -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 指定mybatis全局配置文件的位置 -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="dataSource" ref="pooledDataSource"></property>
<!-- 指定mybatis,mapper文件的位置 -->
<property name="mapperLocations" value="classpath*:com/hhxy/plx/mapper/*.xml"></property>
</bean> <!-- ======================配置扫描器,将mybatis接口的实现加入到ioc容器中=========-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--扫描所有mapper接口的实现,加入到ioc容器中 -->
<property name="basePackage" value="com.hhxy.plx.mapper"></property>
</bean> </beans>

8.创建springmvc.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 开启注解扫描 只扫描Controller -->
<context:component-scan base-package="com.hhxy.plx">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
<!--配置的视图解析器对象-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean> <!--过滤静态资源-->
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/js/" mapping="/js/**" /> <!--开启SpringMVC注解的支持-->
<mvc:annotation-driven/> </beans>

9.创建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> </configuration>

10.创建log4j.properties

 jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/blog?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

11.web.xml相关配置:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>blog</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <!-- Spring 整合 Springweb配置Spring监听器 -->
<!--配置Spring的监听器,默认只加载WEB-INF目录下的applicationContext.xml配置文件-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--设置配置文件的路径-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name/>
<param-value/>
</context-param> <!-- 此部分为springMVC的配置 --> <!--配置前端控制器-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--加载springmvc.xml配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!--启动服务器,创建该servlet-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <!--解决中文乱码的过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> </web-app>

12.上面就是所有配置文件。

UserController:

 package com.hhxy.plx.controller;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import com.hhxy.plx.entity.User;
import com.hhxy.plx.service.UserService; @Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String findAll() {
System.out.println("Controller执行成功!!");
userService.findAll();
return "login"; }
@RequestMapping("/save")
public String save(User user) {
userService.saveUser(user);
return "login"; } }

User实体类:

 package com.hhxy.plx.entity;

 public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

UserMapper接口类:

 package com.hhxy.plx.mapper;

 import com.hhxy.plx.entity.User;

 public interface UserMapper {

     void saveUser(User user);

 }

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.hhxy.plx.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.hhxy.plx.mapper.UserMapper">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="password" jdbcType="VARCHAR" property="password" /> </resultMap>
<select id="findAll" parameterType="com.hhxy.plx.entity.User" resultMap="BaseResultMap">
select * from user
</select>
<insert id="saveUser" parameterType="com.hhxy.plx.entity.User"> insert into user(username,password) values (#{username},#{password})
</insert> </mapper>

UserService接口类:

 package com.hhxy.plx.service;

 import java.util.List;

 import com.hhxy.plx.entity.User;

 public interface UserService {

     public List<User> findAll();

     public void saveUser(User user);

 }

UserServiceImpl实现类:

 package com.hhxy.plx.service;

 import java.util.List;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.hhxy.plx.entity.User;
import com.hhxy.plx.mapper.UserMapper;
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper; public List<User> findAll(){
System.out.println("ServiceImpl调用成功!!!!");
return null; } @Override
public void saveUser(User user) {
System.out.println("保存用户!!!");
userMapper.saveUser(user); } }

index.jsp:

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<a href="user/login">测试跳转</a>
<form action="user/save" method="post">
账号:<input type="text" name="username"><br/>
密码:<input type="text" name="password"><br/> <input type="submit" value="保存"> </form> </body>
</html>

login.jsp

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
login页面 </body>
</html>

测试:

输入要保存的账号密码:跳转保存。

刷新数据库:

用maven对ssm进行整合的更多相关文章

  1. 基于maven的ssm框架整合

    基于maven的ssm框架整合 第一步:通过maven建立一个web项目.                第二步:pom文件导入jar包                              (1 ...

  2. IDEA下基于MAVEN的SSM框架整合

    源码可以以上传github https://github.com/ingxx/ssm_first 最近把用IDEA把SSM框架整合一遍遇到了不少坑,在这里写出来 这里maven我使用的是自己下载的3. ...

  3. MyEclipse的多模块Maven web(ssm框架整合)

    Maven的多模块可以让项目结构更明确,提高功能的内聚,降低项目的耦合度,真正的体现出分层这一概念. 我们在操作中,要明白为什么这样做,要了解到更深的层次,这样,我们就不限于个别软件了. 话不多说,直 ...

  4. IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)

    目录 温馨提示 简单介绍下SSM 搭建过程 一.框架介绍 二.下载Maven 三.创建Maven项目 四.Maven工程需要引入的Jar 包 五.整合SSM框架.需要的相关配置文件配置项目 六.工程导 ...

  5. maven项目快速搭建SSM框架(一)创建maven项目,SSM框架整合,Spring+Springmvc+Mybatis

    首先了解服务器开发的三层架构,分配相应的任务,这样就能明确目标,根据相应的需求去编写相应的操作. 服务器开发,大致分为三层,分别是: 表现层 业务层 持久层 我们用到的框架分别是Spring+Spri ...

  6. 使用Maven完成SSM框架整合环境构建——基于Spring4和Mybatis3

    只言片语 使用Maven来搭建一个SSM环境,其实和使用手工倒入jar的过程没有多大区别,所用的jar包都是一样的,但是区别在与不用你手动导入jar包了,而是只修改pom.xml,maven会自动根据 ...

  7. SSM框架整合环境构建——基于Spring4和Mybatis3

    目录 环境 配置说明 所需jar包 配置db.properties 配置log4j.properties 配置spring.xml 配置mybatis-spring.xml 配置springmvc.x ...

  8. 使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  9. 【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

随机推荐

  1. webpack打包配置禁止html标签全部转为小写

    用webpack打包页面,发现html中特别写的用来给后端识别的大写标签全部被转为了小写标签,这时候需要将加一个配置 ,caseSensitive:true ,禁止大小写转换. webpack配置: ...

  2. Gradle使用的简单了解

    Gradle 认识 参考博客:http://www.enjoytoday.cn/categorys/Gradle gradle是一个用于构建工程的工程配置脚本,它可以很便捷的帮助我们构建管理工程结构, ...

  3. win10安装ubuntu系统出现的一些问题以及解决方案

    前言 在win10系统进行安装新的ubuntu环境的时候遇到的一些问题,以及解决方案,供以后参考. 准备 从ubuntu官网下载最近版本的ubuntu系统,Ubuntu最新版本下载地址 操作系统:wi ...

  4. logistic regression评价方法

    1.sensitivity,也叫recall,true positive rate,含义是预测为正向的case中对的(true positive)和所有事实为正向的case的比例. 2.specifi ...

  5. mysql操作数据表

    目录 创建数据表 列约束 查看数据表结构 列类型(字段类型) 整型 浮点型 字符串 时间日期类型 Date Time Datetime Timestamp Year 枚举enum 修改表名 增加字段 ...

  6. rabbitmq pika(python)订阅发布多客户端消费场景简单使用

    发布端: import pika import time credentials = pika.credentials.PlainCredentials('root', 'root',erase_on ...

  7. apicloud含有微信支付。支付宝支付和苹果内购的代码

    apicloud含有微信支付.支付宝支付和苹果内购的代码 <!DOCTYPE html> <html> <head> <meta charset=" ...

  8. PyCharm颜色设置

    选择主题和背景图片 选择字体.修改字体大小 新建颜色主题 修改背景颜色 修改注释颜色 File --> Setting (Ctrl + Shift + S) 1.选择不同的主题.选择背景图片 A ...

  9. WindowsServer2003中IIS支持php的配置

    1.安装MySQL(没有特殊说明的就按照默认安装)选择 Custom 自定义安装点击"Change"更改 MySQL 安装目录(自定义)其他按照默认的下一步就可以 安装完成后会自动 ...

  10. Linux:路径的概念及路径的切换

    路径分为绝对路径和相对路径 绝对路径:从/根开头的路径为绝对路径 相对路径:以当前目录为开头的为相对路径 根目录:/ 家目录:普通用户的家目录在/home下,root用户的家目录是/root 切换目录 ...