SSM+Maven项目搭建过程(超级详细)

SSM(Spring+SpringMVC+Mybatis),不多介绍。

Maven 项目构建管理神器,JAR包管理MAVEN的仓库配置链接

下图是完整的目录结构,看下图:

SSM+Maven项目搭建过程(超级详细)_第1张图片

创建Maven工程

这里博主用到的IDE是IntelliJ IDEA,创建工程的过程略有不同,但是大同小异。

SSM+Maven项目搭建过程(超级详细)_第2张图片

        groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。

  比如我创建一个项目,我一般会将groupId设置为cn.zxl,cn表示域为中国,zxl是我个人姓名缩写,artifactId设置为ssmProj,表示你这个项目的名称是ssmProj

SSM+Maven项目搭建过程(超级详细)_第3张图片

选择Maven仓库

SSM+Maven项目搭建过程(超级详细)_第4张图片

next——>finish创建成功

SSM+Maven项目搭建过程(超级详细)_第5张图片

创建Maven工程成功后,这里就可以Debug运行一下了。Hello World!

配置文件

       在这里楼主将所有的配置文件放在了config文件夹中,Spring-config.xml和Springmvc和Mybatis-config.xml。

Mybatis配置文件

       Mybatis的配置文件就是mybatis-config.xml,主要是配置typeAlias,将实体类匹配成XXXMapper.xml中可以直接使用的类型,相当于一个别名,在XXXMapper.xml中就无需再写完整的实体类全路径,直接用alias的值来代替。




    
        
        
    

Spring配置文件

Spring-config.xml 这个配置文件中,我们主要配置数据源,Spring的事务管理和Dao接口的扫描,以及对Mybatis的一些列相关配置文件的扫描。

在这里,为了后期便于维护,我将数据源文件单独拿出来放在了application.properties




    
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
        
        
        
        
    
    
    
        
        
    
    
    
        
    
    
    

application.properties

#mysql database
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/testfirst
jdbc.username=root
jdbc.password=123456
#定义初始连接数,连接池启动时创建的连接数量的初始值
jdbc.initialSize=0
#定义最大连接数,同一时间可以从池分配的最多连接数量,0时无限制
jdbc.maxActive=50
#定义最大空闲,当经过一个高峰期后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止,0时无限制
jdbc.maxIdle=20
#定义最小空闲,当空闲的连接数少于该值时,连接池就会预申请一些连接,以免洪峰来时来不及申请
jdbc.minIdle=0
#请求连接最大等待时间(毫秒),默认-1无期限,超出时间将抛出异常
jdbc.maxWait=-1

SpringMVC配置文件

 这个配置文件中我们主要启用Sping注解驱动,进行静态资源的配置,注解扫描配置和视图解析器配置。




    
    

    
    
        
        
            
            
                
            
            
            
                
            
        
    

    
    
        
        
        
        
    

    
     

    
    

    
    

web.xml文件的配置

        我们在web.xml中加载Spring配置,并且将所有的请求都过滤给Spring MVC来处理,同时设置编码过滤器解决编码问题(最后一项可以不配置)。其中Spring MVC的请求过滤就是一个简单的Servlet配置。



    maven-ssm

    
        /WEB-INF/views/index.jsp
    

    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        contextConfigLocation
        classpath:config/spring-config.xml
    

    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath*:config/springmvc-config.xml
        
        
        1
    
    
    
        springmvc
        
        /
    

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

在这里SSM框架就基本完成了,要测试一下,看看是否搭建成功。

测试

MySQL数据库

CREATE TABLE `user` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(255) DEFAULT NULL,
  `Age` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

我在这里,逆向工程来生成实体类,Dao接口和对应的Mapper文件,具体方法我在下一篇博客会介绍。

UserMapper.java

package com.zxl.dao;

import com.zxl.entity.User;
import tk.mybatis.mapper.common.Mapper;

public interface UserMapper extends Mapper {
}

UserMapper.xml




    
        
        
        
        
    

User.java

package com.zxl.entity;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

public class User {
    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "Name")
    private String name;

    @Column(name = "Age")
    private Integer age;

    /**
     * @return ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return Name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return Age
     */
    public Integer getAge() {
        return age;
    }

    /**
     * @param age
     */
    public void setAge(Integer age) {
        this.age = age;
    }
}

IndexController.java

package com.zxl.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class IndexController {
    @RequestMapping("/")
    public String index() {
        return "index";
    }
}

目录结构如下

SSM+Maven项目搭建过程(超级详细)_第6张图片

好啦,到此大功告成。访问 http://localhost:8080/

SSM+Maven项目搭建过程(超级详细)_第7张图片

特别的

web.xml中我更改了index.jsp的位置


    /WEB-INF/views/index.jsp
  

配置文件时,凡是涉及到路径的地方一定要加倍注意。


本人水平有限,难免出现纰漏和不足,欢迎批评指正。

你可能感兴趣的:(SSM)