文档开发者中心
我的

史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:


前言:

网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 中招了咩 ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文章旨在清晰地整合各个框架之间的流程与思路。


相信有很多小伙伴都是学了SSM框架,而且学的时候应该是用eclipse或者Myeclipse开发的,随着idea崛起,实力碾压eclipse,IDEA 的编译速度很快,通常比ec快2倍!外加丧心病狂的代码提示引起程序员的尖叫!当然,我不是说eclipse不好,只是idea更加便捷,更加便于开发,这是事实。我相信很多小伙伴都是从eclipse转向idea(包括我,普遍一开始上手不习惯idea,时刻保持一颗畏惧敬畏的心,生怕敲不出一行靓丽的Hello Word(你们都是大神,记得当时的我一直syso,敲不出一行输出语句QAQ),作为过来人,我告诉大家,这些都是没必要的担心,你只要记住,具(工具idea)在我手中,码(代码)就在我手中,管他三七四十九呢,拿起idea就是一顿撸码,我就是酱紫的,所以呢才有了这篇idea版的SSM框架整合,不然你以为怎么来的?(好像有点装bi,感觉要被打…)



文章目录


  • 前言:

  • 1. 搭建整合环境

    • 1. 整合说明

    • 2. 整合的思路:

    • 3. 创建数据库和表结构语句:

    • 4. 创建maven的工程

    • 5. 编写实体类,在Twossm_domain项目中编写

    • 6. 编写dao接口

    • 7. 编写service接口和实现类

  • 2、Spring框架代码的编写

    • 1、创建resources的资源文件目录管理XML配置文件

    • 2、编写applicationContext.xml的配置文件

    • 3. 在项目中编写测试方法,进行测试

  • 3、SpringMVC框架代码的编写

    • 1. 在web.xml中配置DispatcherServlet前端控制器

    • 2. 在web.xml中配置DispatcherServlet过滤器解决中文乱码

    • 3. web.xml中配置的整体效果

    • 4. 创建springmvc.xml的配置文件,编写配置文件

    • 5.创建jsp页面,并编写controller代码

    • 6.部署Tomcat进行测试

    • 7.测试运行

  • 4. Spring整合SpringMVC的框架

    • 1、Spring整合SpringMVC的框架原理分析

    • 2、在web.xml中配置ContextLoaderListener监听器

    • 3. controller中注入service对象,调用service对象方法并测试

  • 5、MyBatis框架代码的编写

    • 1、在IAccountdao接口方法上添加注解,编写SQL语句

    • 2.创建SqlMapConfig.xml的配置文件并编写

    • 3. 创建并编写Mybatis测试方法

  • 6. Spring整合MyBatis框架

    • 1、在applicationContext.xml中配置数据库连接池

    • 2、在applicationContext.xml中配置SqlSessionFactory工厂

    • 3、在applicationContext.xml中配置IAccountdao接口所在包

    • 4、小结上面的三个配置

    • 5、完善Service层代码

    • 6、完善Controller层代码

    • 7、完善list.jsp页面

    • 8、运行测试

  • 7.spring整合mybatis框架配置事务(Spring的声明式事务管理)

    • 1、在applicationContext.xml中配置Spring框架声明式事务管理

    • 2、完善index.jsp页面

    • 3、完善Service层、Controller层代码

    • 4、测试运行

  • 8、源码、源码、源码~重要的标题发三遍


1. 搭建整合环境

1. 整合说明

整合说明:SSM整合可以使用多种方式,咱们选择XML + 注解的方式,不要觉得不妥,这样其实最便捷-


2. 整合的思路:

1、先搭建整合的环境


2、先把Spring的配置搭建完成

3、再使用Spring整合SpringMVC框架

4、之后使用Spring整合MyBatis框架

5、最后spring整合mybatis框架配置事务(Spring的声明式事务管理)


3. 创建数据库和表结构语句:


复制在MySQL中运行即可:


create database ssm;

use ssm;

create table account (

id int primary key auto_increment,

name varchar(50),

money double

);


4. 创建maven的工程


具体的使用idea创建maven,请看这篇使用IntelliJ IDEA创建第一个Mawen项目


  1. 1.创建Twossm_parent父工程(打包方式选择pom,必须的)

  2. 2.创建Twossm_web子模块(打包方式是war包)

  3. 3.创建Twossm_service子模块(打包方式是jar包)

  4. 4.创建Twossm_dao子模块(打包方式是jar包)

  5. 5.创建Twossm_domain子模块(打包方式是jar包)

  6. 6.web依赖于service,service依赖于dao,dao依赖于domain

  7. 7.在Twossm_parent的pom.xml文件中引入坐标依赖
    找到对应的< properties >标签,以及< dependencies >标签,复制粘贴即可
    版本控制是在< properties >标签中控制,从坐标依赖中可以看出版本号:spring5X、MySQL3.1.6、mybatis3.4.5


<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>

<spring.version>5.0.2.RELEASE</spring.version>

<slf4j.version>1.6.6</slf4j.version>

<log4j.version>1.2.12</log4j.version>

<mysql.version>5.1.6</mysql.version>

<mybatis.version>3.4.5</mybatis.version>

</properties>



<dependencies>

<dependency>

<groupId>org.aspectj</groupId>

<artifactId>aspectjweaver</artifactId>

<version>1.6.8</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</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-webmvc</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</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>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>compile</scope>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>${mysql.version}</version>

</dependency>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>2.5</version>

<scope>provided</scope>

</dependency>

<dependency>

<groupId>javax.servlet.jsp</groupId>

<artifactId>jsp-api</artifactId>

<version>2.0</version>

<scope>provided</scope>

</dependency>

<dependency>

<groupId>jstl</groupId>

<artifactId>jstl</artifactId>

<version>1.2</version>

</dependency> <!-- log start -->

<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> <!-- log end -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>${mybatis.version}</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.3.0</version>

</dependency>

<dependency>

<groupId>c3p0</groupId>

<artifactId>c3p0</artifactId>

<version>0.9.1.2</version>

<type>jar</type>

<scope>compile</scope>

</dependency>

</dependencies>



8.部署Twossm_web的项目,只要把Twossm_web项目加入到tomcat服务器中即可


5. 编写实体类,在Twossm_domain项目中编写


在这里,我提醒一下,可能各位不熟悉idea快捷键,就比如说getset方法搞不出来哈哈,就这篇整合SSM的文章所用到的idea快捷键可以参考下面蓝色字体文章(点击蓝色字体即可),熟悉idea的哥们可以当我没说,当我在放pi(快快快捂住鼻子…)

IDEA快速实现接口、查找接口的实现、getSet方法快速生成等等常用快捷键


package com.gx.domain;


import java.io.Serializable;


public class Account implements Serializable {

private Integer id;

private String name;

private Double money;


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;

}


public Double getMoney() {

return money;

}


public void setMoney(Double money) {

this.money = money;

}


@Override

public String toString() {

return 'Account{' +

'id=' + id +</p><p> ', name='' + name + '\'' +

', money=' + money +</p><p> '}';

}

}



6. 编写dao接口


在dao包中编写dao接口IAccountdao


package com.gx.dao;


import com.gx.domain.Account;

import org.apache.ibatis.annotations.Insert;

import org.apache.ibatis.annotations.Select;

import org.springframework.stereotype.Repository;


import java.util.List;


public interface IAccountdao {


public List<Account> findAll();

public void saveAccount(Account account);

}



7. 编写service接口和实现类

service接口:


package com.gx.service;


import com.gx.domain.Account;


import java.util.List;


public interface AccountService {

// 查询所有账户

public List<Account> findAll();


// 保存帐户信息

public void saveAccount(Account account);

}



service接口实现类:


package com.gx.service.Impl;


import com.gx.domain.Account;

import com.gx.service.AccountService;

import org.springframework.stereotype.Service;


import java.util.List;

@Service('accountService')

public class AccountServiceImpl implements AccountService {


@Override

public List<Account> findAll() {

System.out.println('Service业务层:查询所有账户...');

return null;

}


@Override

public void saveAccount(Account account) {

System.out.println('Service业务层:保存帐户...');

}

}



到这里,整合环境就搭建好了效果如下,接下来搭建Spring的配置!

在这里插入图片描述


2、Spring框架代码的编写


搭建和测试Spring的开发环境


1、创建resources的资源文件目录管理XML配置文件


创建一个叫resources的资源文件目录,用来管理放置XML配置文件

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


点赞
收藏
回复
分享
举报
浏览524 发布于2019-11-14 14:24未知归属地
全部评论
最多点赞
最新发布
最早发布
暂无评论
暂无评论
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。