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

目录
  • 温馨提示
  • 简单介绍下SSM
  • 搭建过程
    • 一、框架介绍
    • 二、下载Maven
    • 三、创建Maven项目
    • 四、Maven工程需要引入的Jar 包
    • 五、整合SSM框架、需要的相关配置文件配置项目
    • 六、工程导入Jar包及配置 tomcat
    • 七、使用MyBatis的逆向工程(Generator)
    • 八、建立Service层以及conrorller层
    • 九、运行测试
  • 总结

温馨提示

此篇文章篇幅较长,相信我看了这篇文章你一定会撸起码来行云流水,事半功倍,无懈可击,请耐心阅读。

超级超级超级详细!

干货!干货!干货!

IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第1张图片

简单介绍下SSM

SSMSpring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系统划分为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis作为数据对象持久化引擎。

搭建过程

一、框架介绍

  • Spring

    Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单说, Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

  • SpringMVC

    SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。

  • MyBatis

    MyBatis 是一款优秀持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

二、下载Maven

  • 下载地址 :

    https://maven.apache.org/download.cgi

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第2张图片

  • 解压下载的安装包,我将安装包解压在我的目录下,解压好了以后,并创建好本地仓库mavenrepository目录。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第3张图片

  • 修改maven的配置文件,进入刚解压的的maven文件夹目录,进入conf,使用编辑器打开settings.xml文件,我这里使用的BBEditwindow的可以使用EditPlus

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

  • 打开以后,配置本地仓库路径,不使用默认的maven仓库,配置maven仓库下载国内的镜像源,不然下载特别慢,有时候还会出现下载jar包失败,如下图配置,修改自己电脑对应的路径。

  • maven 仓库路径

/Users/wht/maven/mavenrepository
  • 阿里的镜像仓库
   
  
     alimaven
     aliyun maven
     http://maven.aliyun.com/nexus/content/groups/public/
     central        
  

  • maven的下载和配置就完成了,接下来我们就去创建项目了。

三、创建Maven项目

  • 首先打开 IDEA,点击 Create New Project

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第5张图片

  • 找到 Maven 点击下 ,然后直接点击 Next

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第6张图片

  • 填写相应的信息,Groupid是项目组织唯一的标识符,实际对应JAVA的包的结构。

    Artifactid就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

  • 填好后,直接点击Next

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第7张图片

  • 继续点击Finish

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第8张图片

  • 接下来建好的项目目录就展示在我们眼前,你会发现这里面没有webapp

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第9张图片

  • 接下来因为我们创建的是maven项目,所以我们要在IDEA中配置一下maven的仓库,本人用的 MacBook,可能界面会跟 Windows 有点差别,但是界面都是有功能的,点击左上角的IntelliJ IDEA,找到Preferences...,点击进入

  • 进入设置界面左上角搜索 maven ,进入maven 设置界面

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第10张图片

  • 注意⚠️ 前提是你必须下载了maven

  • 接下来点击黄色框区域后面的 省略号 ... 找到自己电脑上下载的maven文件夹,选中,点击OK。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第11张图片

  • 这时候可以看到下图,已经设置成功,并且我的maven仓库路径也会随之改变。因为我配置了自己的settings.xml文件。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第12张图片

  • 接下来我们修改IDEA中的maven默认的settings.xml配置文件为自己本地的配置文件,根据图中操作步骤修改。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第13张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第14张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第15张图片

  • 接下来idea的项目需要手动配置,本人用的 MacBook,可能界面会跟 Windows 有点差别,但是界面都是有功能的,点击左上角File,找到Project Structure...点击进入项目配置

  • 点击Project ,选择自己电脑的JDK,我这里是使用的是jdk1.8,下面的也要选择8 - Lambdas, ...

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第16张图片

  • 接下来配置Modules, 点击Modules,点击自己的项目, 然后点击 “ + ”号,下拉找到 Web点击。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第17张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第18张图片

  • 接下来配置Web ,点击Deployment Descriptors下的路径选中,点击修改图标

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第19张图片

  • 接下来将路径改为下图路径,点击OK

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第20张图片

  • 修改之后你会看到上面的路径已经修改成功了。 接下来点击下面的 Web Resoure Directories点击修改图标

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第21张图片

  • 同样将原路径改为下图路径,点击OK

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第22张图片

  • 修改完成之后,会看到以下画面。看到下面的黄色感叹图标,点击右下角的 Create Artifacet点击。会自动给Artifacet添加Web exploded

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第23张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第24张图片

  • 接下来点击Apply点击OK

  • 返回编辑界面,如下图,会发现 与之前的刚创建的项目截图对比,这里多出了 webapp文件夹,并且中间有个蓝色小圈web.xml ,表示创建成功了。

  • 刚创建的项目截图

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第25张图片

  • 配置后的项目截图

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第26张图片

四、Maven工程需要引入的Jar 包

  • pom.xml


    4.0.0

    com.top
    ssmDemo
    1.0-SNAPSHOT
	  
        UTF-8  
        yyyyMMddHHmmss  
        3.2.9.RELEASE  
        3.1.1  
        1.1.1  
    


	
		

		
		
			com.github.pagehelper
			pagehelper
			5.0.0
		

		

		
		
			org.springframework
			spring-webmvc
			${spring.version}
		

		
		
			com.fasterxml.jackson.core
			jackson-databind
			2.8.8
		

		

		
			org.springframework
			spring-jdbc
			${spring.version}
		

		

		
			org.springframework
			spring-test
			${spring.version}
		


		
		
			org.springframework
			spring-aspects
			${spring.version}
		

		
		
			org.mybatis
			mybatis
			${mybatis.version}
		

		
		
			org.mybatis
			mybatis-spring
			${mybatisspring.version}
		

		
		
			com.alibaba
			druid
			1.1.10
		

		
		
			mysql
			mysql-connector-java
			5.1.41
		

		
		
			javax.servlet
			javax.servlet-api
			3.0.1
			provided
		


		
		
			junit
			junit
			4.12
		

		
		
			log4j
			log4j
			1.2.16
		

		
		
			org.apache.poi
			poi
			3.9
		

		
		
			com.alibaba
			fastjson
			1.2.47
		

		
			org.jetbrains
			annotations
			RELEASE
			compile
		

	
	
		ssmDemo
	

五、整合SSM框架、需要的相关配置文件配置项目

  • web.xml

    修改webapp下的WEB-INF下的web.xml



    
    
    
        contextConfigLocation
        classpath:/spring/beans_core.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    
       
      
        org.springframework.web.util.IntrospectorCleanupListener  
     


    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:/springmvc/springmvc.xml
        
    

    
        springmvc
        /
    

    
    
        encodingFilter
        
            org.springframework.web.filter.CharacterEncodingFilter
        
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    

    
        encodingFilter
        /*
    


    
        login.jsp
    




  • Spring的配置文件

    我这里起名为 beans_core.xml





	
	 
	
	

	
	
	
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	


	
	
		
		
		
		
		
		
		
			
				
					
						
							helperDialect=mysql
							reasonable=true
							supportMethodsArguments=true
							params=count=countSql
							autoRuntimeDialect=true
						
					
				
			
		
	

	
	

		
	

	
	


	
	
		
	

	
	
		
			
			
			
			
			
		
	



	
		
		
	


  • SpringMVC的配置文件

    我这里命名为 springmvc.xml




	
	
	


	
		
			
				
				
			
		
	


	
	

	
	

	
	
	
	
		
		
	



为了代替手工使用 SqlSessionDaoSupportSqlSessionTemplate 编写数据访问对象 (DAO)的代码,MyBatis-Spring 提供了一个动态代理的实现:MapperFactoryBean。这个类可以让你直接注入数据映射器接口到你的 service 层 bean 中。当使用映射器时,你仅仅如调 用你的 DAO一样调用它们就可以了,但是你不需要编写任何 DAO 实现的代码,因为MyBatis-Spring 将会为你创建代理。

  • MyBatis 的配置文件

    我这里命名为 sqlMapConfig.xml





	 



  • 日志配置文件
    log4j.properties
# Global logging configuration\uff0c\u5efa\u8bae\u5f00\u53d1\u73af\u5883\u4e2d\u8981\u7528debug
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

  • 数据库配置文件
    jdbc.properties

url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 
driverClassName:com.mysql.jdbc.Driver
jdbc_username:root
jdbc_password:123
       
filters:stat
   
maxActive:20
initialSize:1
maxWait:60000
minIdle:10
maxIdle:15
   
timeBetweenEvictionRunsMillis:60000
minEvictableIdleTimeMillis:300000
   
validationQuery:SELECT 'x'
testWhileIdle:true
testOnBorrow:false
testOnReturn:false

maxOpenPreparedStatements:20
removeAbandoned:true
removeAbandonedTimeout:1800
logAbandoned:true


  • 配置文件就已经全部配置完成了,项目目录如下图。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第27张图片

六、工程导入Jar包及配置 tomcat

  • 接下来点击左上角File,找到Project Structure...点击进入项目配置,找到 Libraries,进入查看,你会发现你 pom.xml 导入的maven jar包已经下载完毕。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第28张图片

  • 继续点击 Artifacts,会发现Available ...也有maven的jar包

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第29张图片

  • 接下来看图中操作步骤操作

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第30张图片

  • 右击ssmDemo文件夹,点击 Put into Output Root

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第31张图片

  • 这时候你看发现如下图所示的变化

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第32张图片

  • 然后jar包已经全部部署在 WEB-INFlib 目录下,接下来先点击 Apply 再点击 OK

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第33张图片

  • 接下来我们来 配置 tomcat,点击OK 后,进入编辑区 点击 "Add Config..."

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第34张图片

  • 点击添加图标

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第35张图片

  • 一直下拉找到 Tomcat Server 选中 Local,会进入下图的界面。

  • 接下来编辑 tomcat 配置,根据图中操作步骤,来配置。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第36张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第37张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第38张图片

  • 这时候观察 tomcat 已经配置完成。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第39张图片

七、使用MyBatis的逆向工程(Generator)

  • MyBatis的Generator可以自动创建实体类、Mapper映射文件以及DAO接口

  • MyBatis的逆向工程 有三种:命令行、eclipse插件、maven插件。

  • 我这里使用maven插件

  • Eclipse与IDEA都可以使用,咱们这里的教程就使用IDEA吧

pom.xml中添加plugin


    org.mybatis.generator
    mybatis-generator-maven-plugin
    1.3.2
    
        src/main/resources/mybatis-generator/generatorConfig.xml
        true
        true
    
    
        
            Generate MyBatis Artifacts
            
                generate
            
        
    
    
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.2
        
    

  • generatorConfig.xml的位置,我这里是放在src/main/resources/mybatis-generator/generatorConfig.xml,大家可以自己调整路径。

  • generatorConfig.xml配置文件





	
	

	
		

		
			
		


		
		
		

		
			
		

		
		
			
			
		

		
		
			
		

		
		
			
		

		
		
  • 配置完成后如下图

  • 点击mybatis-generator:generate会自动生成实体类、Mapper映射文件以及DAO接口,看如下图图片。

  • 我习惯将逆向生成的 ** Mapper.xml文件放在配置文件 resourcesmybatis 下的 mapper 文件夹下,如下图。

  • 逆向工程生成代码就已经完成了,是不是很 Nice 啊,快去试一试咯

八、建立Service层以及conrorller层

Service层接口

package com.top.service;

import com.top.bean.Test;

public interface TestService {
    
    Test login(String name, String password);
}

Service层 接口实现类

package com.top.service;

import com.top.bean.Test;
import com.top.mapper.TestMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class TestServiceImpl implements TestService  {

    @Autowired
    private TestMapper testMapper;
    
    @Override
    public Test login(String name, String password) {
        return testMapper.login(name, password);
    }
}

Controller层

package com.top.controller;

import com.alibaba.fastjson.JSON;
import com.top.bean.Test;
import com.top.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.Map;


@Controller
@RequestMapping("/test")
public class TestController {


    @Autowired
    private TestService testService;


    @RequestMapping("login")
    public String login(String name ,String password){
        Test login = testService.login(name, password);
        if (login != null ) {
            return "redirect:/index.jsp";
        } else {
            return "redirect:/login.jsp";
        }
    }


}

数据库大家自己创建,这里就不详细创建了,页面我这里这是简单的写了一个登录的页面

切记一定要创建数据库并将 数据库配置文件的数据库名称 改为 自己创建的名称

九、运行测试

  • 这时候运行tomcat,浏览器会自动加载,如果,没有加载则访问 URL

  • http://localhost:8080/ssmDemo

  • 会看到如下页面,登录自己的姓名和密码进行验证登录。

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第40张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第41张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第42张图片

  • 项目结构如下:

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第43张图片

    IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第44张图片

总结

到此为止,整个SSM项目就完美的整合完成了。如自己还有什么需求可以在此基础上继续编写,如需还有什么问题可在下方评论。谢谢

希望可以帮助到更多的学者,后续也会更新很多文章,想要了解学习的可以持续关注下哟别着急,还有更多的秘密和有趣的代码等着你来探索!

IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第45张图片

分享嗨起来,美德传起来,点个星标从此探索之路不迷茫!

微信扫描二维码,关注我的原创日更公众号,可以查看更多程序的秘密!

IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看)_第46张图片

你可能感兴趣的:(IDEA使用maven搭建SSM框架整合项目(超级详细,值得一看))