网上有很多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. PLSQL 12 安装、连接Oracle

    点击下载PLSQL,本次安装的PLSQL版本为12.0.7,建议安装64位. 下载PLSQL时,版本旁边会有个“Language pack”的链接,点击后左侧选择“Chinese”即可下载汉化包. 注 ...

  2. Qt Creator配置MSVC调试器

    安装完QT后会看到Qt Creator中的MSVC构建组件带有黄色的感叹号,那是因为没有调试器的原因.由于Qt-MSVC版本套件没有默认安装调试器, 需要我们自己手动下载安装. 根据官方文档http: ...

  3. 为Dynamics 365 USD设置使用Chrome进程来驻留Web应用程序

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  4. GBT22239-2019等保2.0三级要求

    1 第三级安全要求 1.1 安全通用要求 1.1.1 安全物理环境 1.1.1.1 物理位置选择 本项要求包括: a) 机房场地应选择在具有防震.防风和防雨等能力的建筑内: b) 机房场地应避免设在建 ...

  5. 【转载】不可不知的 Android strings.xml 那些事

    相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧. ...

  6. dos编码格式 cmd编码 dos中文显示

    设置uft-8编码 > chcp 65001 设置默认编码 > chcp 936 字符集 1258 越南语 1257 波罗的语 1256 阿拉伯语 1255 希伯来语 1254 土耳其语 ...

  7. linux下配置jdk,tomcat,mysql,redis,zookeeper

    jdk: 解压: tar zxvf jdk-8u144-linux-x64.tar.gz 执行:vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0 ...

  8. Python推导表达式、迭代器、生成器、模块和包

    推导表达式 yield用法 模块的概念和导入方法 包和包管理 推导表达式(利用for,一个一个地放入数据) 列表推导 集合推导 字典推导 迭代器 迭代 for 迭代变量 in 可迭代对象 每一次循环都 ...

  9. Linux文件传输协议2019-7-9

    FTP(file transfer Protocol)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口,其中端口20(数据端口)用于数据传输,端口21(命令端口)用 ...

  10. 如何调用.so动态库中的函数,如何把自己的函数导出为.so的动态库函数供别人调用

    调用.so中的函数和平常的函数没有区别,只是在编译连接时加上-lxxxx就行了.要生成.so库,则编译时用下面的语句:gcc -shared -Wl,-soname,libmyfun.so -o li ...