新手搭建SSM(Spring+SpringMVC+MyBatis)入门级教程

610 阅读6分钟

 写这篇教程纯属是觉得SSM框架用起来实在是太舒服了,很简单也很容易理解,也极大的提升了程序猿的编程能力,小弟希望可以给予各位亲们一定的帮助,好了不多说了,看我操作就行了。

运行环境:Eclipse+Mysql

一.创建一个Maven Project


二.修改pom.xml,导入dtd文件(dtd文件是映射的时候用的)

贴上pom.xml代码:
(PS:其中引用了一些其他的jar包可以不用管)

<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">
<modelVersion>4.0.0</modelVersion>
<groupId>MySSM</groupId>
<artifactId>MyTestSSM</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<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">
<modelVersion>4.0.0</modelVersion>
<groupId>ctest</groupId>
<artifactId>ctest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>4.3.3.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

<!-- 加入ServletAPI -->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

<!-- MySQL依赖 start -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>

<!-- MySQL依赖 end -->



<!-- 加入MyBatis 依赖 start -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<!-- mybatis-generator-core 反向生成java代码 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>

<!-- 加入MyBatis 依赖 end -->

<!-- Log4j start -->
<!-- log4j-slf4j-impl -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
<!-- log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<!-- Log4j end -->

<!-- 引入Spring(包含SpringMVC) 依赖 start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>


<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>

<!-- 引入Spring 依赖 end -->

<!-- 引用c3p0 依赖 start -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2.1</version>
</dependency>
<!-- 引用c3p0 依赖 end -->

<!-- 引用插件依赖:MyBatis整合Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>

<!-- JSTL -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

<!-- dom4j 用dom4j能更方便的处理微信平台发过来的xml -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>

<!-- fastjson 这里只在junit test中有用到 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.32</version>
</dependency>
<!-- fasterxml.jackson start -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<!-- fasterxml.jackson end -->


<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>

<!-- commons-httpclient 微信素材上传-->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
</dependency>

</dependencies>


</project>

三.创建相关文件

创建包

创建各种类和文件



这里需要注意的是dao中映射文件的创建点击Eclipse上的导航栏>Windows>Preferences>搜索XML>选择XML CataLog>点击add这个时候需要添加一个dtd文件(相关文件会放到我的github项目中),点击OK即可

这里配置好之后,我们去dao包里创建xml文件,也就是映射文件


然后点击next 创建一个跟你dao名字一致的xml文件,如下




然后直接点击next>finish这时候我们的文件基本就创建好了


这里要再配置一下ssm的配置文件applicationContext.xml,我在这里整合了一下



四.编写代码

本人作为新手根据个人习惯来编写,我个人喜欢从dao先开始写,比如你这个功能要做什么事,本系统首先是要注册,那我第一部就要写一个注册功能的dao接口,我取名为addUser(请遵循书写规范),创建好接口之后则要编写sql语句,就是在刚才创建的UserDao.xml中编写。

1.dao代码


2.贴上部分xml代码


3.dao层写好之后就去写service层,这个service主要功能是控制事务,实现业务,并且可以进行逻辑处理

service接口定义的方法通常是你这个功能的意思,我就简单写了为addUser,方便读者读懂就好了

附上service接口代码

接下来就要写service的实现类了,这个时候要尤其注意,在实现类中要加入注解

@Service(业务注解) @Transactional(事务注解) @Autowired(对类成员变量、方法及构造函数进行标注,完成自动装配的工作)

详细代码如下


最后我们去写控制器,在controller类中要加入注解@Controller(控制器的注解)

详细代码如下(这里贴了登录的方法,有兴趣的看一下)



简单的构造一下注册的页面这里没有进行相关的判断,有兴趣的人可以自己研究的时候添加



然后就可以直接跑项目了,进入regist.jsp,注册页面注册你的帐号


创建自己的卡号和密码,点击注册

切记:不要创建数据库已经存在的帐号,否则直接GG!

注册完成之后会跳转到login.jsp,这时候只要输入你刚才创建的卡号和密码即可完成登录


点击之后跳转到index.jsp,我们的ssm框架也就搭建好了




首先感谢阅读,我是一个小白程序猿,如果有理解不足的地方还请多多指教,谢谢。


github源码下载:https://github.com/ChenSye/mytestssm.git(11.30更新版本)