Idea搭建Spring+SpringMvc+Mybatis框架集成项目


1.新建maven项目

2.创建多模块

每个模块配置如父模块一样,除视图层

(视图层配置)

 最后

common-通过模块,不依赖任何模块,有各种项目所需要用到的工具类

model- POJO、VO、DTO

dao模块:数据持久化,访问数据库,这里使用Mybatis

service模块:业务模块,处理业务逻辑

webui模块:B/S结构的表示层,主要用于在浏览器中显示数据,提供用户接口

3.添加父模快插件版本管理

3.1代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<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.0modelVersion>

    <groupId>com.tff.SSM05groupId>
    <artifactId>SSM05artifactId>
    <packaging>pompackaging>
    <version>1.0-SNAPSHOTversion>
    <modules>
        <module>Ssm05-commonmodule>
        <module>Ssm05-modelmodule>
        <module>Ssm05-daomodule>
        <module>Ssm05-servicemodule>
        <module>Ssm05-webuimodule>
    modules>
    <properties>
          
           <Ssm05-common.version>1.0-SNAPSHOTSsm05-common.version>
           <Ssm05-model.version>1.0-SNAPSHOTSsm05-model.version>
           <Ssm05-dao.version>1.0-SNAPSHOTSsm05-dao.version>
           <Ssm05-service.version>1.0-SNAPSHOTSsm05-service.version>
           <Ssm05-webui.version>1.0-SNAPSHOTSsm05-webui.version>

        
        <log4j.version>2.6.1log4j.version>
        <junit.version>4.10junit.version>
        
        <spring.version>4.3.0.RELEASEspring.version>
        <aspectjweaver.version>1.8.9aspectjweaver.version>
        <cglib.version>3.2.4cglib.version>

        
        <mybatis-spring.version>1.3.0mybatis-spring.version>
        <mysql-connector-java.version>5.1.38mysql-connector-java.version>
        <mybatis.version>3.4.1mybatis.version>
        <c3p0.version>0.9.1.2c3p0.version>

        
        <jstl.version>1.2jstl.version>
        <servlet-api.version>3.0.1servlet-api.version>
        <jsp-api.version>2.1jsp-api.version>
        <hibernate.version>5.2.2.Finalhibernate.version>
        <commons-io.version>2.4commons-io.version>
        <commons-fileupload.version>1.3.1commons-fileupload.version>
        <freemarker.version>2.3.23freemarker.version>
    properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.tff.SSM05groupId>
                <artifactId>Ssm05-commonartifactId>
                <version>${Ssm05-common.version}version>
            dependency>
            <dependency>
                <groupId>com.tff.SSM05groupId>
                <artifactId>Ssm05-daoartifactId>
                <version>${Ssm05-dao.version}version>
            dependency>
            <dependency>
                <groupId>com.tff.SSM05groupId>
                <artifactId>Ssm05-modelartifactId>
                <version>${Ssm05-model.version}version>
            dependency>
            <dependency>
                <groupId>com.tff.SSM05groupId>
                <artifactId>Ssm05-serviceartifactId>
                <version>${Ssm05-service.version}version>
            dependency>
            <dependency>
                <groupId>com.tff.SSM05groupId>
                <artifactId>Ssm05-webuiartifactId>
                <version>${Ssm05-webui.version}version>
            dependency>

            
            <dependency>
                <groupId>com.fasterxml.jackson.coregroupId>
                <artifactId>jackson-databindartifactId>
                <version>${jackson.version}version>
            dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.coregroupId>
                <artifactId>jackson-coreartifactId>
                <version>${jackson.version}version>
            dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.coregroupId>
                <artifactId>jackson-annotationsartifactId>
                <version>${jackson.version}version>
            dependency>
            
            <dependency>
                <groupId>org.apache.commonsgroupId>
                <artifactId>commons-lang3artifactId>
                <version>${commons-lang3.version}version>
            dependency>

            
            <dependency>
                <groupId>org.apache.logging.log4jgroupId>
                <artifactId>log4j-coreartifactId>
                <version>${log4j.version}version>
            dependency>
            
            <dependency>
                <groupId>junitgroupId>
                <artifactId>junitartifactId>
                <version>${junit.version}version>
            dependency>
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-contextartifactId>
                <version>${spring.version}version>
            dependency>
            
            <dependency>
                <groupId>org.aspectjgroupId>
                <artifactId>aspectjweaverartifactId>
                <version>${aspectjweaver.version}version>
            dependency>
            <dependency>
                <groupId>cglibgroupId>
                <artifactId>cglibartifactId>
                <version>${cglib.version}version>
            dependency>

            
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatis-springartifactId>
                <version>${mybatis-spring.version}version>
            dependency>
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-jdbcartifactId>
                <version>${spring.version}version>
            dependency>
            
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>${mysql-connector-java.version}version>
            dependency>
            
            <dependency>
                <groupId>org.mybatisgroupId>
                <artifactId>mybatisartifactId>
                <version>${mybatis.version}version>
            dependency>
            
            <dependency>
                <groupId>c3p0groupId>
                <artifactId>c3p0artifactId>
                <version>${c3p0.version}version>
            dependency>


            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webmvcartifactId>
                <version>${spring.version}version>
            dependency>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-context-supportartifactId>
                <version>${spring.version}version>
            dependency>
            
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>jstlartifactId>
                <version>${jstl.version}version>
            dependency>
            
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>javax.servlet-apiartifactId>
                <version>${servlet-api.version}version>
            dependency>
            
            <dependency>
                <groupId>javax.servlet.jspgroupId>
                <artifactId>jsp-apiartifactId>
                <version>${jsp-api.version}version>
            dependency>
            
            <dependency>
                <groupId>org.hibernategroupId>
                <artifactId>hibernate-validatorartifactId>
                <version>${hibernate.version}version>
            dependency>
            
            <dependency>
                <groupId>commons-iogroupId>
                <artifactId>commons-ioartifactId>
                <version>${commons-io.version}version>
            dependency>
            <dependency>
                <groupId>commons-fileuploadgroupId>
                <artifactId>commons-fileuploadartifactId>
                <version>${commons-fileupload.version}version>
            dependency>
            
            <dependency>
                <groupId>org.freemarkergroupId>
                <artifactId>freemarkerartifactId>
                <version>${freemarker.version}version>
            dependency>
        dependencies>
    dependencyManagement>

project>

4.各模块添加依赖和插件

dao

 
     <dependencies>
         <dependency>
             <groupId>com.tff.SSM05groupId>
             <artifactId>Ssm05-modelartifactId>
         dependency>
         <dependency>
             <groupId>com.tff.SSM05groupId>
             <artifactId>Ssm05-commonartifactId>
         dependency>

         

         
         <dependency>
             <groupId>org.apache.logging.log4jgroupId>
             <artifactId>log4j-coreartifactId>
         dependency>
         
         <dependency>
             <groupId>junitgroupId>
             <artifactId>junitartifactId>
         dependency>
         
         <dependency>
             <groupId>org.springframeworkgroupId>
             <artifactId>spring-contextartifactId>
         dependency>
         
         <dependency>
             <groupId>org.aspectjgroupId>
             <artifactId>aspectjweaverartifactId>
         dependency>
         <dependency>
             <groupId>cglibgroupId>
             <artifactId>cglibartifactId>
         dependency>

         
         <dependency>
             <groupId>org.mybatisgroupId>
             <artifactId>mybatis-springartifactId>
         dependency>
         
         <dependency>
             <groupId>org.springframeworkgroupId>
             <artifactId>spring-jdbcartifactId>
         dependency>
         
         <dependency>
             <groupId>mysqlgroupId>
             <artifactId>mysql-connector-javaartifactId>
         dependency>
         
         <dependency>
             <groupId>org.mybatisgroupId>
             <artifactId>mybatisartifactId>
         dependency>
         
         <dependency>
             <groupId>c3p0groupId>
             <artifactId>c3p0artifactId>
         dependency>
     dependencies>
dao xml Code

service

    
        <dependency>
            <groupId>com.tff.SSM05groupId>
            <artifactId>Ssm05-daoartifactId>
        dependency>

        

webui

 <dependencies>
        
        <dependency>
            <groupId>com.tff.SSM05groupId>
            <artifactId>Ssm05-serviceartifactId>
        dependency>

        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>

        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-context-supportartifactId>
        dependency>

        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>

        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>

        dependency>
        
        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>jsp-apiartifactId>

        dependency>
        
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-validatorartifactId>

        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.11version>
            <scope>testscope>
        dependency>
    dependencies>

5.实体模块

 因项目而异