Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)

Java技术 潘老师 4年前 (2020-07-26) 2579 ℃ (0) 扫码查看

在Java Web开发中,基于SSM架构的项目很多,因此掌握如何快速整合SSM的流程和框架需要做哪些准备配置,对于java的学习是至关重要的。在这里潘老师以图文教程的方式给大家详解下在Eclipse中具体的搭建步骤,如果你觉得此流程搭建太复杂,在文章最后潘老师会提供已经搭建好的项目供你下载。
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)

1、准备好JDK环境
2、准备好JavaEE版本的Eclispe环境
3、准备好mysql数据库(我这里是mysql5.5版本,如果你的是8.0版本注意驱动包和驱动都要改为与8.0版本对应的)
4、下载好Spring、SpringMVC和Mybatis的相关jar包以及一些辅助jar包。
4.1)下载Spring和SpringMVC的框架包,在这里我们使用的版本为4.3.18(可以根据自己的需要按照如图目录下载自己的需要的版本,如果你选的版本与我演示的不同,注意和mybatis版本兼容性问题)。官网下载地址:点击直达
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
4.2)下载mybati框架包,这里我们使用3.5.1版本,官网github下载地址:点击直达
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
4.3)准备其他辅助包,后面会具体说到。

1、在eclipse中新建名为ssm的java web项目。
2、将下面相关包复制到ssm的lib目录下:
2.1)IOC相关包

注意:commons-logging-1.2.jar和log4j-1.2.17.jar日志包自行百度下载,其他都在Spring框架包中查找

Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.2)AOP相关包

注意:aopalliance-1.0.jar和aspectweaver-1.8.10.jar日志包自行百度下载,其他都在Spring框架包中查找

Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.3)数据库及事务相关包
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.4)SpringMVC相关包
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.5)mybatis核心包
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.6)mysql数据库驱动包(如果是mysql8.0版本,驱动包可以使用mysql-connector-java-8.0.11.jar
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.7)c3p0数据库连接池包
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2.8)Spring和mybatis的整合包
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
SSM整合所需所有jar包综合如下:
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
3、为了方便后面扫描配置及环境测试,在src根目录下创建包目录如下:
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
4、在src下新建名为log4j.properties日志信息配置文件,内容如下:

log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#log4j.logger.org.apache=INFO

5、在src下新建名为jdbc.properties数据库信息配置文件,内容如下:

注意:数据库连接地址、用户名和密码都换成自己的
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456

如果是mysql8.0版本,则配置为:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456

6、在src下新建名为spring.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">
<!-- 配置包扫描 -->
<context:component-scan base-package="com.ssm.service,com.ssm.dao"/>
<!-- 配置注解驱动 -->
<context:annotation-config/>
<!-- 加载jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置数据源-c3p0数据库连接池 -->
<bean id="dataSource" 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>
<property name="minPoolSize" value="10"></property>
<property name="maxPoolSize" value="50"></property>
<property name="initialPoolSize" value="10"></property>
</bean>
<!-- 配置SqlSessionFactory-mybatis操作数据库核心对象的工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 注入mybatis的核心配置文件 -->
<property name="configLocation" value="classpath:mybatis.cfg.xml"></property>
</bean>
<!-- 配置Mapper扫描器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入扫描mapper的包路径 -->
<property name="basePackage" value="com.ssm.dao"></property>
<!-- 注入sqlSessionFactoryBeanName -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
<!-- 配置事务-使用jdbc的事务 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 开启spring对事务注解支持 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

6、在src下新建名为springmvc.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:mvc="http://www.springframework.org/schema/mvc"
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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 开启包扫描注解:
springmvc.xml中只对controller做扫描    
-->
<context:component-scan base-package="com.ssm.controller"/>
<!-- springmvc注解驱动 -->
<mvc:annotation-driven/>
<!--
配置视图解析的前缀 prefix 和后缀 suffix:
(1)前缀:如果在 WebContent 目录下,则为 /,如果在 WEB-INF 目录下,则为 /WEB-INF/
(2)后缀:一般为 JSP 文件,所以为 .jsp
例如:prefix="/",suffix=".jsp",viewname="test",则:"/test.jsp"
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>

7、在src下新建名为mybatis.cfg.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>
<settings>
<!-- 开启日志,并指定具体日志为log4j -->
<setting name="logImpl" value="LOG4J"/>
<!-- 开启延迟加载 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 设置属性按需加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<typeAliases>
<!--自动扫描,将JAVA类的类名作为类的类别名 -->
<package name="com.ssm.model"/>
</typeAliases>
<mappers>
<!-- 自动扫描包内的Mapper接口与配置文件 -->
<package name="com/ssm/dao"/>
</mappers>
</configuration>

8、修改web.xml配置,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>ssm</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>
<!-- 1.配置spring的监听器,项目一加载就创建容器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 2.指定配置文件路径,如果不指定,就默认调用WEB-INF下的applicationContext.xml文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
<!-- 3.配置spring的编码过滤器 -->
<filter>
<filter-name>characterEncoding</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>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 4.配置 SpringMVC 的核心分发器-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 设置 SpringMVC 核心配置文件的名称和位置,均可任意。如果未设置,则默认
位于 WEB-INF 目录下,名称为 [servlet-name]-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 自动加载:随 Tomcat 容器启动,加载 DispatcherServlet,完成初始化 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

1、在mysql中新建ssm库,并创建user表。
Eclipse搭建SSM框架开发环境的流程(Spring+SpringMVC+Mybatis)
2、在model包中创建User.java实体类,代码如下:

package com.ssm.model;
public class User {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

3、controller包中新建UserController.java,代码如下:

package com.ssm.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ssm.model.User;
import com.ssm.service.UserService;
@Controller
public class UserController {
@Autowired
private UserService us;
@RequestMapping("/saveUserPage")
public String saveUserPage() {
return "saveUser";
}
@RequestMapping("/saveUser")
public String saveUser(User user) {
us.saveUser(user);
return "success";
}
}

4、service包中新建UserService.java,代码如下:

package com.ssm.service;
import com.ssm.model.User;
public interface UserService {
public void saveUser(User user);
}

5、service.impl包中新建UserServiceImpl.java,代码如下:

package com.ssm.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.ssm.dao.UserDao;
import com.ssm.model.User;
import com.ssm.service.UserService;
@Service("userService")
@Transactional(propagation=Propagation.REQUIRED,readOnly=false)
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void saveUser(User user) {
System.out.println("UserServiceImpl...saveUser...");
userDao.saveUser(user);
//int k = 1/0;//模拟异常,测试事务
}
}

6、dao包中新建UserDao.java和UserDao.xml。
UserDao.java代码:

package com.ssm.dao;
import org.springframework.stereotype.Repository;
import com.ssm.model.User;
@Repository("userDao")
public interface UserDao {
public void saveUser(User user);
}

UserDao.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.ssm.dao.UserDao">
<!-- 保存 -->
<insert id="saveUser" parameterType="user">
insert into user (name) values (#{name})
</insert>
</mapper>

7.在WEB-INF下新建views目录,在views下新建saveUser.jsp和success.jsp。
saveUser.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>
<form action="saveUser" method="post">
用户名:<input type="text" name="name" value=""/><br/>
<input type="submit" value="添加"/>
</form>
</body>

success.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>
添加成功。。。。
</body>
</html>

8、部署运行项目,浏览器访问localhost:8080/ssm/saveUserPage跳转到添加用户页面,然后输入信息,点击添加,查看数据库是否正常添加,页面是否正常跳转至sucess.jsp。接着在UserServiceImpl中放开模拟异常代码,再次添加用户,查看数据库是否没有数据,如果没有表明事务机制正常。

下载好的源码直接解压导入到eclipse,如果报错,则检查buildpath的jdk是否匹配以及Apache Tomcat相关包是否有。

资源下载


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/447.html
喜欢 (7)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】