精华内容
下载资源
问答
  • Maven搭建SSM项目

    2019-03-14 09:41:42
    Maven搭建的Spring,SpringMVC和MyBatis的整合,里边有jar包和实现增删改查的代码
  • maven搭建ssm项目

    2018-08-29 11:03:09
    maven搭建ssm框架项目,免去配置文件的过程,解压使用
  • Eclipse+Maven+SSM搭建

    2018-11-02 16:54:17
    Eclipse+Maven+SSM搭建,附带项目搭建文档,以及截图和重要文件等
  • maven搭建SSM项目

    千次阅读 2016-10-26 10:44:21
    上一篇文章已经说了如何通过maven构建web工程,下面介绍一下通过maven构建SSM项目。 原文地址:http://blog.csdn.net/zhshulin/article/details/37956105 使用SSM(Spring、SpringMVC和Mybatis)已经有三个多...

    上一篇文章已经说了如何通过maven构建web工程,下面介绍一下通过maven构建SSM项目。

    原文地址:http://blog.csdn.net/zhshulin/article/details/37956105

    使用SSMSpringSpringMVCMybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。(可通过图片水印查看博客地址)


    1、基本概念


    1.1、Spring


            Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。


    1.2、SpringMVC

         

            Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。


    1.3、MyBatis


           MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis MyBatis是一个基于Java持久层框架。iBATIS提供的持久层框架包括SQL MapsData Access ObjectsDAOMyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java POJOsPlain Old Java Objects,普通的 Java对象)映射成数据库中的记录。



    2、开发环境搭建



    如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/30779873



    3、Maven Web项目创建


    如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/37921705



    4、SSM整合

          

            下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含springmybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件jdbc.propertislog4j.properties。完整目录结构如下(最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码):


    使用框架都是较新的版本

           Spring 4.0.2 RELEASE

           Spring MVC 4.0.2 RELEASE

           MyBatis 3.2.6


    4.1、Maven引入需要的JAR包

             为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。

    pom.xml

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <properties>  
    2.         <!-- spring版本号 -->  
    3.         <spring.version>4.0.2.RELEASE</spring.version>  
    4.         <!-- mybatis版本号 -->  
    5.         <mybatis.version>3.2.6</mybatis.version>  
    6.         <!-- log4j日志文件管理包版本 -->  
    7.         <slf4j.version>1.7.7</slf4j.version>  
    8.         <log4j.version>1.2.17</log4j.version>  
    9.     </properties>  
    10.   
    11.     <dependencies>  
    12.         <dependency>  
    13.             <groupId>junit</groupId>  
    14.             <artifactId>junit</artifactId>  
    15.             <version>4.11</version>  
    16.             <!-- 表示开发的时候引入,发布的时候不会加载此包 -->  
    17.             <scope>test</scope>  
    18.         </dependency>  
    19.         <!-- spring核心包 -->  
    20.         <dependency>  
    21.             <groupId>org.springframework</groupId>  
    22.             <artifactId>spring-core</artifactId>  
    23.             <version>${spring.version}</version>  
    24.         </dependency>  
    25.   
    26.         <dependency>  
    27.             <groupId>org.springframework</groupId>  
    28.             <artifactId>spring-web</artifactId>  
    29.             <version>${spring.version}</version>  
    30.         </dependency>  
    31.         <dependency>  
    32.             <groupId>org.springframework</groupId>  
    33.             <artifactId>spring-oxm</artifactId>  
    34.             <version>${spring.version}</version>  
    35.         </dependency>  
    36.         <dependency>  
    37.             <groupId>org.springframework</groupId>  
    38.             <artifactId>spring-tx</artifactId>  
    39.             <version>${spring.version}</version>  
    40.         </dependency>  
    41.   
    42.         <dependency>  
    43.             <groupId>org.springframework</groupId>  
    44.             <artifactId>spring-jdbc</artifactId>  
    45.             <version>${spring.version}</version>  
    46.         </dependency>  
    47.   
    48.         <dependency>  
    49.             <groupId>org.springframework</groupId>  
    50.             <artifactId>spring-webmvc</artifactId>  
    51.             <version>${spring.version}</version>  
    52.         </dependency>  
    53.         <dependency>  
    54.             <groupId>org.springframework</groupId>  
    55.             <artifactId>spring-aop</artifactId>  
    56.             <version>${spring.version}</version>  
    57.         </dependency>  
    58.   
    59.         <dependency>  
    60.             <groupId>org.springframework</groupId>  
    61.             <artifactId>spring-context-support</artifactId>  
    62.             <version>${spring.version}</version>  
    63.         </dependency>  
    64.   
    65.         <dependency>  
    66.             <groupId>org.springframework</groupId>  
    67.             <artifactId>spring-test</artifactId>  
    68.             <version>${spring.version}</version>  
    69.         </dependency>  
    70.         <!-- mybatis核心包 -->  
    71.         <dependency>  
    72.             <groupId>org.mybatis</groupId>  
    73.             <artifactId>mybatis</artifactId>  
    74.             <version>${mybatis.version}</version>  
    75.         </dependency>  
    76.         <!-- mybatis/spring包 -->  
    77.         <dependency>  
    78.             <groupId>org.mybatis</groupId>  
    79.             <artifactId>mybatis-spring</artifactId>  
    80.             <version>1.2.2</version>  
    81.         </dependency>  
    82.         <!-- 导入java ee jar 包 -->  
    83.         <dependency>  
    84.             <groupId>javax</groupId>  
    85.             <artifactId>javaee-api</artifactId>  
    86.             <version>7.0</version>  
    87.         </dependency>  
    88.         <!-- 导入Mysql数据库链接jar包 -->  
    89.         <dependency>  
    90.             <groupId>mysql</groupId>  
    91.             <artifactId>mysql-connector-java</artifactId>  
    92.             <version>5.1.30</version>  
    93.         </dependency>  
    94.         <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->  
    95.         <dependency>  
    96.             <groupId>commons-dbcp</groupId>  
    97.             <artifactId>commons-dbcp</artifactId>  
    98.             <version>1.2.2</version>  
    99.         </dependency>  
    100.         <!-- JSTL标签类 -->  
    101.         <dependency>  
    102.             <groupId>jstl</groupId>  
    103.             <artifactId>jstl</artifactId>  
    104.             <version>1.2</version>  
    105.         </dependency>  
    106.         <!-- 日志文件管理包 -->  
    107.         <!-- log start -->  
    108.         <dependency>  
    109.             <groupId>log4j</groupId>  
    110.             <artifactId>log4j</artifactId>  
    111.             <version>${log4j.version}</version>  
    112.         </dependency>  
    113.           
    114.           
    115.         <!-- 格式化对象,方便输出日志 -->  
    116.         <dependency>  
    117.             <groupId>com.alibaba</groupId>  
    118.             <artifactId>fastjson</artifactId>  
    119.             <version>1.1.41</version>  
    120.         </dependency>  
    121.   
    122.   
    123.         <dependency>  
    124.             <groupId>org.slf4j</groupId>  
    125.             <artifactId>slf4j-api</artifactId>  
    126.             <version>${slf4j.version}</version>  
    127.         </dependency>  
    128.   
    129.         <dependency>  
    130.             <groupId>org.slf4j</groupId>  
    131.             <artifactId>slf4j-log4j12</artifactId>  
    132.             <version>${slf4j.version}</version>  
    133.         </dependency>  
    134.         <!-- log end -->  
    135.         <!-- 映入JSON -->  
    136.         <dependency>  
    137.             <groupId>org.codehaus.jackson</groupId>  
    138.             <artifactId>jackson-mapper-asl</artifactId>  
    139.             <version>1.9.13</version>  
    140.         </dependency>  
    141.         <!-- 上传组件包 -->  
    142.         <dependency>  
    143.             <groupId>commons-fileupload</groupId>  
    144.             <artifactId>commons-fileupload</artifactId>  
    145.             <version>1.3.1</version>  
    146.         </dependency>  
    147.         <dependency>  
    148.             <groupId>commons-io</groupId>  
    149.             <artifactId>commons-io</artifactId>  
    150.             <version>2.4</version>  
    151.         </dependency>  
    152.         <dependency>  
    153.             <groupId>commons-codec</groupId>  
    154.             <artifactId>commons-codec</artifactId>  
    155.             <version>1.9</version>  
    156.         </dependency>  
    157.           
    158.           
    159.     </dependencies>  

    4.2、Spring与MyBatis的整合

    所有需要的JAR包都引入以后,首先进行SpringMyBatis的整合,然后再进行JUnit测试,先看一个项目结构图:


    4.2.1、建立JDBC属性文件

    jdbc.properties(文件编码修改为utf-8

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. driver=com.mysql.jdbc.Driver  
    2. url=jdbc:mysql://10.221.10.111:8080/db_zsl  
    3. username=demao  
    4. password=demao  
    5. #定义初始连接数  
    6. initialSize=0  
    7. #定义最大连接数  
    8. maxActive=20  
    9. #定义最大空闲  
    10. maxIdle=20  
    11. #定义最小空闲  
    12. minIdle=1  
    13. #定义最长等待时间  
    14. maxWait=60000  

    4.2.2、建立spring-mybatis.xml配置文件

            这个文件就是用来完成spring和mybatis的整合的。这里面也没多少行配置,主要的就是自动扫描,自动注入,配置数据库。注释也很详细,大家看看就明白了。

    spring-mybatis.xml

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
    4.     xmlns:context="http://www.springframework.org/schema/context"  
    5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
    6.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
    7.                         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
    8.                         http://www.springframework.org/schema/context    
    9.                         http://www.springframework.org/schema/context/spring-context-3.1.xsd    
    10.                         http://www.springframework.org/schema/mvc    
    11.                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
    12.     <!-- 自动扫描 -->  
    13.     <context:component-scan base-package="com.cn.hnust" />  
    14.     <!-- 引入配置文件 -->  
    15.     <bean id="propertyConfigurer"  
    16.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    17.         <property name="location" value="classpath:jdbc.properties" />  
    18.     </bean>  
    19.   
    20.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
    21.         destroy-method="close">  
    22.         <property name="driverClassName" value="${driver}" />  
    23.         <property name="url" value="${url}" />  
    24.         <property name="username" value="${username}" />  
    25.         <property name="password" value="${password}" />  
    26.         <!-- 初始化连接大小 -->  
    27.         <property name="initialSize" value="${initialSize}"></property>  
    28.         <!-- 连接池最大数量 -->  
    29.         <property name="maxActive" value="${maxActive}"></property>  
    30.         <!-- 连接池最大空闲 -->  
    31.         <property name="maxIdle" value="${maxIdle}"></property>  
    32.         <!-- 连接池最小空闲 -->  
    33.         <property name="minIdle" value="${minIdle}"></property>  
    34.         <!-- 获取连接最大等待时间 -->  
    35.         <property name="maxWait" value="${maxWait}"></property>  
    36.     </bean>  
    37.   
    38.     <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->  
    39.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
    40.         <property name="dataSource" ref="dataSource" />  
    41.         <!-- 自动扫描mapping.xml文件 -->  
    42.         <property name="mapperLocations" value="classpath:com/cn/hnust/mapping/*.xml"></property>  
    43.     </bean>  
    44.   
    45.     <!-- DAO接口所在包名,Spring会自动查找其下的类 -->  
    46.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
    47.         <property name="basePackage" value="com.cn.hnust.dao" />  
    48.         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>  
    49.     </bean>  
    50.   
    51.     <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->  
    52.     <bean id="transactionManager"  
    53.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
    54.         <property name="dataSource" ref="dataSource" />  
    55.     </bean>  
    56.   
    57. </beans>  


    4.2.3、Log4j的配置


          为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

          Log4j的配置很简单,而且也是通用的,下面给出一个基本的配置,换到其他项目中也无需做多大的调整,如果想做调整或者想了解Log4j的各种配置,参看我转载的一篇博文,很详细:

    http://blog.csdn.net/zhshulin/article/details/37937365

    下面给出配置文件目录:


    log4j.properties

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. #定义LOG输出级别  
    2. log4j.rootLogger=INFO,Console,File  
    3. #定义日志输出目的地为控制台  
    4. log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    5. log4j.appender.Console.Target=System.out  
    6. #可以灵活地指定日志输出格式,下面一行是指定具体的格式  
    7. log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
    8. log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
    9.   
    10. #文件大小到达指定尺寸的时候产生一个新的文件  
    11. log4j.appender.File = org.apache.log4j.RollingFileAppender  
    12. #指定输出目录  
    13. log4j.appender.File.File = logs/ssm.log  
    14. #定义文件最大大小  
    15. log4j.appender.File.MaxFileSize = 10MB  
    16. # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
    17. log4j.appender.File.Threshold = ALL  
    18. log4j.appender.File.layout = org.apache.log4j.PatternLayout  
    19. log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  

    4.2.4、JUnit测试


          经过以上步骤(到4.2.2,log4j不配也没影响),我们已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。



    4.2.4.1、创建测试用表

    既然我们需要测试,那么我们就需要建立在数据库中建立一个测试表,这个表建的很简单,SQL语句为:

    [sql]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. DROP TABLE IF EXISTS `user_t`;  
    2.   
    3. CREATE TABLE `user_t` (  
    4.   `id` int(11) NOT NULL AUTO_INCREMENT,  
    5.   `user_name` varchar(40) NOT NULL,  
    6.   `passwordvarchar(255) NOT NULL,  
    7.   `age` int(4) NOT NULL,  
    8.   PRIMARY KEY (`id`)  
    9. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;  
    10.   
    11. /*Data for the table `user_t` */  
    12.   
    13. insert  into `user_t`(`id`,`user_name`,`password`,`age`) values (1,'测试','sfasgfaf',24);  

    4.2.4.2、利用MyBatis Generator自动创建代码

    参考博文:http://blog.csdn.net/zhshulin/article/details/23912615


           这个可根据表自动创建实体类、MyBatis映射文件以及DAO接口,当然,我习惯将生成的接口名改为IUserDao,而不是直接用它生成的UserMapper。如果不想麻烦就可以不改。完成后将文件复制到工程中。如图:

    4.2.4.3、建立Service接口和实现类

    目录结构:


    下面给出具体的内容:

    IUserService.jave

    [java]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. package com.cn.hnust.service;  
    2.   
    3. import com.cn.hnust.pojo.User;  
    4.   
    5. public interface IUserService {  
    6.     public User getUserById(int userId);  
    7. }  

    UserServiceImpl.java

    [java]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. package com.cn.hnust.service.impl;  
    2.   
    3. import javax.annotation.Resource;  
    4.   
    5. import org.springframework.stereotype.Service;  
    6.   
    7. import com.cn.hnust.dao.IUserDao;  
    8. import com.cn.hnust.pojo.User;  
    9. import com.cn.hnust.service.IUserService;  
    10.   
    11. @Service("userService")  
    12. public class UserServiceImpl implements IUserService {  
    13.     @Resource  
    14.     private IUserDao userDao;  
    15.     @Override  
    16.     public User getUserById(int userId) {  
    17.         // TODO Auto-generated method stub  
    18.         return this.userDao.selectByPrimaryKey(userId);  
    19.     }  
    20.   
    21. }  

    4.2.4.4、建立测试类

           测试类在src/test/java中建立,下面测试类中注释掉的部分是不使用Spring时,一般情况下的一种测试方法;如果使用了Spring那么就可以使用注解的方式来引入配置文件和类,然后再将service接口对象注入,就可以进行测试了。

           如果测试成功,表示SpringMybatis已经整合成功了。输出信息使用的是Log4j打印到控制台。


    [java]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. package org.zsl.testmybatis;  
    2.   
    3. import javax.annotation.Resource;  
    4.   
    5. import org.apache.log4j.Logger;  
    6. import org.junit.Before;  
    7. import org.junit.Test;  
    8. import org.junit.runner.RunWith;  
    9. import org.springframework.context.ApplicationContext;  
    10. import org.springframework.context.support.ClassPathXmlApplicationContext;  
    11. import org.springframework.test.context.ContextConfiguration;  
    12. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
    13.   
    14. import com.alibaba.fastjson.JSON;  
    15. import com.cn.hnust.pojo.User;  
    16. import com.cn.hnust.service.IUserService;  
    17.   
    18. @RunWith(SpringJUnit4ClassRunner.class)     //表示继承了SpringJUnit4ClassRunner类  
    19. @ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})  
    20.   
    21. public class TestMyBatis {  
    22.     private static Logger logger = Logger.getLogger(TestMyBatis.class);  
    23. //  private ApplicationContext ac = null;  
    24.     @Resource  
    25.     private IUserService userService = null;  
    26.   
    27. //  @Before  
    28. //  public void before() {  
    29. //      ac = new ClassPathXmlApplicationContext("applicationContext.xml");  
    30. //      userService = (IUserService) ac.getBean("userService");  
    31. //  }  
    32.   
    33.     @Test  
    34.     public void test1() {  
    35.         User user = userService.getUserById(1);  
    36.         // System.out.println(user.getUserName());  
    37.         // logger.info("值:"+user.getUserName());  
    38.         logger.info(JSON.toJSONString(user));  
    39.     }  
    40. }  

    测试结果:



    至此,完成Spring和mybatis这两大框架的整合,下面在继续进行SpringMVC的整合。


    4.3、整合SpringMVC

             上面已经完成了2大框架的整合,SpringMVC的配置文件单独放,然后在web.xml中配置整合。

    4.3.1、配置spring-mvc.xml

    配置里面的注释也很详细,在此就不说了,主要是自动扫描控制器,视图模式,注解的启动这三个。

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
    4.     xmlns:context="http://www.springframework.org/schema/context"  
    5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
    6.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
    7.                         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
    8.                         http://www.springframework.org/schema/context    
    9.                         http://www.springframework.org/schema/context/spring-context-3.1.xsd    
    10.                         http://www.springframework.org/schema/mvc    
    11.                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
    12.     <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->  
    13.     <context:component-scan base-package="com.cn.hnust.controller" />  
    14.     <!--避免IE执行AJAX时,返回JSON出现下载文件 -->  
    15.     <bean id="mappingJacksonHttpMessageConverter"  
    16.         class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
    17.         <property name="supportedMediaTypes">  
    18.             <list>  
    19.                 <value>text/html;charset=UTF-8</value>  
    20.             </list>  
    21.         </property>  
    22.     </bean>  
    23.     <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->  
    24.     <bean  
    25.         class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
    26.         <property name="messageConverters">  
    27.             <list>  
    28.                 <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->  
    29.             </list>  
    30.         </property>  
    31.     </bean>  
    32.     <!-- 定义跳转的文件的前后缀 ,视图模式配置-->  
    33.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
    34.         <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->  
    35.         <property name="prefix" value="/WEB-INF/jsp/" />  
    36.         <property name="suffix" value=".jsp" />  
    37.     </bean>  
    38.       
    39.     <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->  
    40.     <bean id="multipartResolver"    
    41.         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
    42.         <!-- 默认编码 -->  
    43.         <property name="defaultEncoding" value="utf-8" />    
    44.         <!-- 文件大小最大值 -->  
    45.         <property name="maxUploadSize" value="10485760000" />    
    46.         <!-- 内存中的最大值 -->  
    47.         <property name="maxInMemorySize" value="40960" />    
    48.     </bean>   
    49.   
    50. </beans>  

    4.3.2、配置web.xml文件

             这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置。配置一样有详细注释,不多解释了。


    web.xml

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    3.     xmlns="http://java.sun.com/xml/ns/javaee"  
    4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
    5.     version="3.0">  
    6.     <display-name>Archetype Created Web Application</display-name>  
    7.     <!-- Spring和mybatis的配置文件 -->  
    8.     <context-param>  
    9.         <param-name>contextConfigLocation</param-name>  
    10.         <param-value>classpath:spring-mybatis.xml</param-value>  
    11.     </context-param>  
    12.     <!-- 编码过滤器 -->  
    13.     <filter>  
    14.         <filter-name>encodingFilter</filter-name>  
    15.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    16.         <async-supported>true</async-supported>  
    17.         <init-param>  
    18.             <param-name>encoding</param-name>  
    19.             <param-value>UTF-8</param-value>  
    20.         </init-param>  
    21.     </filter>  
    22.     <filter-mapping>  
    23.         <filter-name>encodingFilter</filter-name>  
    24.         <url-pattern>/*</url-pattern>  
    25.     </filter-mapping>  
    26.     <!-- Spring监听器 -->  
    27.     <listener>  
    28.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    29.     </listener>  
    30.     <!-- 防止Spring内存溢出监听器 -->  
    31.     <listener>  
    32.         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
    33.     </listener>  
    34.   
    35.     <!-- Spring MVC servlet -->  
    36.     <servlet>  
    37.         <servlet-name>SpringMVC</servlet-name>  
    38.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    39.         <init-param>  
    40.             <param-name>contextConfigLocation</param-name>  
    41.             <param-value>classpath:spring-mvc.xml</param-value>  
    42.         </init-param>  
    43.         <load-on-startup>1</load-on-startup>  
    44.         <async-supported>true</async-supported>  
    45.     </servlet>  
    46.     <servlet-mapping>  
    47.         <servlet-name>SpringMVC</servlet-name>  
    48.         <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->  
    49.         <url-pattern>/</url-pattern>  
    50.     </servlet-mapping>  
    51.     <welcome-file-list>  
    52.         <welcome-file>/index.jsp</welcome-file>  
    53.     </welcome-file-list>  
    54.   
    55. </web-app>  

    4.3.3、测试

            至此已经完成了SSM三大框架的整合了,接下来测试一下,如果成功了,那么恭喜你,如果失败了,继续调试吧,作为程序员就是不停的与BUG做斗争


    4.3.3.1、新建jsp页面


    showUser.jsp   此页面仅输出一下用户名,完成一个完整的简单流程

    [html]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
    2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    3. <html>  
    4.   <head>  
    5.     <title>测试</title>  
    6.   </head>  
    7.     
    8.   <body>  
    9.     ${user.userName}  
    10.   </body>  
    11. </html>  

    4.3.3.2、建立UserController类

    UserController.java  控制器

    [java]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. package com.cn.hnust.controller;  
    2.   
    3. import javax.annotation.Resource;  
    4. import javax.servlet.http.HttpServletRequest;  
    5.   
    6. import org.springframework.stereotype.Controller;  
    7. import org.springframework.ui.Model;  
    8. import org.springframework.web.bind.annotation.RequestMapping;  
    9.   
    10. import com.cn.hnust.pojo.User;  
    11. import com.cn.hnust.service.IUserService;  
    12.   
    13. @Controller  
    14. @RequestMapping("/user")  
    15. public class UserController {  
    16.     @Resource  
    17.     private IUserService userService;  
    18.       
    19.     @RequestMapping("/showUser")  
    20.     public String toIndex(HttpServletRequest request,Model model){  
    21.         int userId = Integer.parseInt(request.getParameter("id"));  
    22.         User user = this.userService.getUserById(userId);  
    23.         model.addAttribute("user", user);  
    24.         return "showUser";  
    25.     }  
    26. }  

    4.3.3.3、部署项目

    输入地址:localhost:8080/项目名称/user/showUser?id=1

    至此,SSM三大框架的整合就完成了,在此基础上可再添加其他功能。


    源码下载地址:http://download.csdn.net/detail/u012909091/7658611



    展开全文
  • 在eclipse中使用Maven搭建SSM项目 在eclipse中使用Maven搭建SSM项目 一、 搭建maven 安装maven 第一步:Apache Maven官网:http://maven.apache.org/ 第二步:不想下载最新版的话,可以下载旧版 第三步:选择...

    在eclipse中使用Maven搭建SSM项目

    在eclipse中使用Maven搭建SSM项目
    一、 搭建maven

    1. 安装maven
      第一步:Apache Maven官网:http://maven.apache.org/

    在这里插入图片描述

    第二步:不想下载最新版的话,可以下载旧版

    在这里插入图片描述

    第三步:选择合适的版本,我用的是3.3.9

    在这里插入图片描述
    第四步:解压zip文件

    在这里插入图片描述

    1. 配置环境
      第一步:右击我的电–>属性–>高级系统设置–>环境变量–>系统变量–>新建

    在这里插入图片描述
    第二部:再配置Path变量
    在这里插入图片描述

    跟配置java环境是一样的,最后几个一直点确定就行。 home路径要自己定一个,不能和其他重复。路径最好是拷贝,手动输入太容易出错了。
    第三步:检验配置是否成功,打开命令行,输入mvn -v
    在这里插入图片描述
    成功!!!
    二、 创建Maven项目

    1. 新建Maven Object项目
      File–>New -->Maven project
      在这里插入图片描述
      定义名称

    在这里插入图片描述
    项目结构图
    在这里插入图片描述
    2. 配置maven
    Window—>Preferences—>Maven

    在这里插入图片描述
    配置Installations在这里插入图片描述

    配置User Settings在这里插入图片描述
    3. 导入pom.xml

    <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>com.czxy</groupId>
    	<artifactId>Demo01</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    
    
    	<!--Spring Boot -->
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.0.4.RELEASE</version>
    		<relativePath /> <!-- lookup parent from repository -->
    	</parent>
    
    	<!-- 编码版本、jdk, -->
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    		<java.version>1.8</java.version>
    		<spring-cloud.version>Finchley.RC1</spring-cloud.version>
    		<mybatis.starter.version>1.3.2</mybatis.starter.version>
    		<mapper.starter.version>2.0.3</mapper.starter.version>
    		<pageHelper.starter.version>1.2.3</pageHelper.starter.version>
    		<druid.starter.version>1.1.9</druid.starter.version>
    		<mysql.version>5.1.32</mysql.version>
    		<fastDFS.client.version>1.26.1-RELEASE</fastDFS.client.version>
    		<jaxb.version>2.3.0</jaxb.version>
    		<fastjson.version>1.2.47</fastjson.version>
    	</properties>
    
    	<dependencies>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    		<!-- mybatis启动器 -->
    		<dependency>
    			<groupId>org.mybatis.spring.boot</groupId>
    			<artifactId>mybatis-spring-boot-starter</artifactId>
    			<version>${mybatis.starter.version}</version>
    		</dependency>
    		<!-- 通用Mapper启动器 -->
    		<dependency>
    			<groupId>tk.mybatis</groupId>
    			<artifactId>mapper-spring-boot-starter</artifactId>
    			<version>${mapper.starter.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    			<version>${spring.version}</version>
    		</dependency>
    		<!-- druid启动器 -->
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>druid-spring-boot-starter</artifactId>
    			<version>${druid.starter.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<version>${mysql.version}</version>
    		</dependency>
    		<!-- 引入Spring Boot 测试模块 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    		
    		<!-- junit -->
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.1</version>
    			<scope>test</scope>
    		</dependency>
    
    
    	</dependencies>
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<version>3.5.1</version>
    			</plugin>
    
    		</plugins>
    	</build>
    </project>
    

    三、 创建Java类

    1. Controller类

    在这里插入图片描述

    package com.czxy.controller;
    
    import java.util.List;
    
    import javax.annotation.Resource;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.czxy.domain.User;
    import com.czxy.service.UserService;
    
    @RestController
    @RequestMapping("/user")
    public class UserController {
    
    	
    	@Resource
    	private UserService userService;
    	
    	@RequestMapping("/findAll")
    	public List<User> findAll(){
    		List<User> list=userService.findAll();
    		System.out.println(list);
    		return list;
    	}
    }
    
    

    2.Service类
    在这里插入图片描述

    package com.czxy.service;
    
    import java.util.List; 
    
    import javax.annotation.Resource;
    
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import com.czxy.dao.UserMapper;
    import com.czxy.domain.User;
    
    @Service
    @Transactional
    public class UserService {
    	
    	
    	@Resource
    	private UserMapper userDao;
    	
    	
    	public List<User> findAll(){
    		List<User> list=userDao.selectAll();
    		
    		System.out.println(list);
    		return list;
    	}
    
    }
    
    
    1. Dao类

    在这里插入图片描述

    package com.czxy.dao;
    
    import com.czxy.domain.User;
    
    import tk.mybatis.mapper.common.Mapper;
    
    @org.apache.ibatis.annotations.Mapper
    public interface UserMapper extends Mapper<User>{
    
    }
    
    

    4.实体类
    在这里插入图片描述

    package com.czxy.domain;
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name = "tb_user")
    public class User {
    
    	@Id
    	private Integer id;
    	private String name;
    	private String password;
    	private String mobile;
    	private String email;
    	
    	//无参
    	public User() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	//有参
    	public User(Integer id, String name, String password, String mobile, String email) {
    		super();
    		this.id = id;
    		this.name = name;
    		this.password = password;
    		this.mobile = mobile;
    		this.email = email;
    	}
    
    	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 String getPassword() {
    		return password;
    	}
    
    	public void setPassword(String password) {
    		this.password = password;
    	}
    
    	public String getMobile() {
    		return mobile;
    	}
    
    	public void setMobile(String mobile) {
    		this.mobile = mobile;
    	}
    
    	public String getEmail() {
    		return email;
    	}
    
    	public void setEmail(String email) {
    		this.email = email;
    	}
    	
    	//toString
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", name=" + name + ", password=" + password + ", mobile=" + mobile + ", email="
    				+ email + "]";
    	}
    	
    }
    
    

    数据库
    在这里插入图片描述

    1. 启动类
      在这里插入图片描述
    package com.czxy;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class ApplicationDemo {
    	
    	public static void main(String[] args) {
    		SpringApplication.run(ApplicationDemo.class, args);
    	}
    
    }
    
    

    6.application.yaml文件

    在这里插入图片描述

    server:
      port: 8080   #端口号
    
    spring:
      datasource:                 
        url: jdbc:mysql://127.0.0.1:3306/shop
        username: root
        password: root
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        druid:                  
          initial-size: 5
          min-idle: 5
          max-active: 20
          max-wait: 1000
          test-on-borrow: true
    mybatis:
      mapper-locations: classpath:mapper/*.xml
      type-aliases-package: com.czxy.domain
      
    

    7.配置tomcat

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    进行校验

    运行启动类

    在这里插入图片描述

    浏览器访问
    在这里插入图片描述

    console控制台打印
    在这里插入图片描述

    展开全文
  • ssm框架是spring,spring mvc,mybatis三大框架的整合,是现在主流的框架。使用maven构建工具整合这三个框架非常容易,如果大家下载后有什么问题或错误欢迎留言评论,谢谢
  • 现在网上有很多SSM搭建流程,方法大同小异,但大多都是版本陈旧,对于刚学的人并不友好,大多数IDE版本还停留在MyEclipse2014版本,连接数据库jar包也是5.*,spring有的是3*,有的是4.*,对于像我一样新学的人首先...

    现在网上有很多SSM搭建流程,方法大同小异,但大多都是版本陈旧,对于刚学的人并不友好,大多数IDE版本还停留在MyEclipse2014版本,连接数据库jar包也是5.*,spring有的是3*,有的是4.*,对于像我一样新学的人首先没有理由使用这么陈旧的版本,其次不同资料的版本也不统一,第三由于版本不同,有些设置的位置不同,MyEclipse截面改版较大,修改非常痛苦。这两天查阅了多方资料,最终搭建了一个成功SSM项目,记录一下方便以后再次使用,也希望像我一样的小白萌新能有个比较新版的资料进行参考。
    这是我的第一篇原创文章,虽然经常使用markdown,但也只对markdown基础语法有了解,如果排版出现问题,希望大家谅解,我会及时修改。
    这两天主要参考的文章是
    https://blog.csdn.net/weixin_42405964

    http://www.cnblogs.com/QingXiaxu/p/8144968.html
    但这两篇文章直接修改又不一定好用,所以我进行了一些修改,在搭建过程中我会告诉大家哪些地方不同,大家可以去对比学习一下,废话说了很多了,现在开始搭建项目。
    版本说明:MyEclipse2018,实际上2017也可以,二者的界面基本一致,java版本1.8,服务器版本tomcat 9.0,数据库mysql5.7,mysql版本较老,因为官网下载总失败,去百度下载了一个就是5.7,不影响使用,我使用了Hedis作为视图化工具。

    1.创建maven项目

    MyEclipse2017参考
    https://blog.csdn.net/weixin_42405964/article/details/80838338
    这篇文章,就是上面分享第一个博客的第一部分,几乎完全一样
    创建maven项目
    点击next
    注意箭头和红字
    这里看清楚箭头和红字,点击next
    注意箭头红字
    GroupId:原则上啥都行,但还是建议规范一点
    ArtifactId:你的项目名
    注意一定要选择war,原因说不清,反正大家都这么说,有兴趣自己查阅一下,点击Finish完成,此时的目录结构
    目录结构
    在项目上点击右键,点击properties,进入设置界面
    2没了,你们应该懂
    虽然不知道为什么2没了,但你应该懂什么意思
    这里没顺序你也应该懂
    这里没顺序你也应该懂
    在这里插入图片描述
    注意先点击Apply,更改这些设置,然后点击JavaCompiler,开始下面的设置修改
    这个你懂吧
    在这里插入图片描述
    在这里插入图片描述
    注意java版本要修改成1.8,否则我是无法发布到tomcat上,而且我本机也是java1.8,不知道10可不可以,有10的同学可以自己验证一下,然后再点下面(可能点不点都行,但保险起见,点一下)
    在这里插入图片描述
    直接点ok
    在这里插入图片描述
    先点Apply,在选择Dy的那一项
    在这里插入图片描述
    这里后面是4.0,或者3.1,或者3.0应该问题不大,既然问题不大我就选择4.0了,2017应该只能选3.1,点下面进入这里
    在这里插入图片描述
    勾选生成web.xml(你也可以手动生成,麻烦),点击OK
    这时候properties可以关了
    此时的目录结构
    在这里插入图片描述
    pom上还有小红叉,因为我刚才选择4.0,当然3.1也会有,但3.0好像没有了,双击打开pom文件,在最上面一行有红色波浪线,鼠标放上去自动纠错,直接点一下pom会变成这样
    在这里插入图片描述
    这时候就不报错了,至此maven项目已经搭建完毕,下面我们开始配置,转移到下篇文章,后面不截图,只粘贴代码了…
    在这里插入图片描述
    第二篇直通车
    https://blog.csdn.net/heheyixiao233/article/details/82809868

    展开全文
  • Maven搭建SSM

    2018-03-17 17:25:04
    该文件中是Maven工程,主要为利用Maven搭建SSM,附带了SQL脚本,下载解压后导入即可,如出现小红叉,请工程右键--maven--update一下,还不行请参照我写的博客。
  • 教你如何使用IDEA + Maven 搭建SSM Web项目前言1. 环境2. 前期准备3. 开始创建工程4. 调整IDEA自动创建的工程目录4.1 创建源代码路径4.2 创建test路径4.3 创建resource路径4.4 整个的目录结构4.5 修改pom.xml文件4.6...

    前言

    本文将带你一步一步使用IDEA搭建SSM项目(Spring SpringMVC Mybatis)。最终所实现的效果是通过访问用户注册界面(http://localhost/register.jsp),将新用户添加进MySQL数据库。通过post方法访问http://localhost/emp/getAll,获取所有用户信息的json数据。
    在这里插入图片描述

    1. 环境

    java version:12.0.2
    maven版本:3.6.1
    MySQL版本:5.x

    2. 前期准备

    创建数据库:

    CREATE DATABASE mybatisdb;
    

    创建表:

    create table employee(
      eid int(5) primary key,
      ename varchar(20),
      esalary double(8,2),
      esex varchar(2)
    );
    

    3. 开始创建工程

    1.File->New->Project…

    在这里插入图片描述

    2.选择Maven项目

    在这里插入图片描述

    3.填写项目信息

    在这里插入图片描述

    3.设置Maven

    我在这里选择的是我自己下载的一个maven,maven的源已经被我在settings.xml中设置成了阿里的源,如果不设置的将会导致下载jar包时消耗很长的时间。设置方法就不在这里讲了,网上教程一大堆。
    在这里插入图片描述

    4.选择项目存放路径,最后点Finish

    此时的项目结构如下:
    在这里插入图片描述

    4. 调整IDEA自动创建的工程目录

    4.1 创建源代码路径

    右键main文件夹---->new—>Directory,取名为java
    在这里插入图片描述
    将该目录设置为源代码路径
    在这里插入图片描述
    创建包com.yky,并在包中创建domain、dao、service、controller。创建好的包目录如下:

    在这里插入图片描述

    4.2 创建test路径

    右键src—>new—>Directory,取名为test。在新创建的test目录下创建java文件夹,并设置为test的根目录

    在这里插入图片描述
    在test/java目录下创建com.yky.dao包,用于存放dao层的测试代码

    在这里插入图片描述

    4.3 创建resource路径

    创建resource路径专门用来存放配置文件
    右键main文件夹—>new->Directory,取名为resource。并设置为resource根路径

    在这里插入图片描述
    为了让配置文件看起来不乱,在resource目录下创建mapper目录,专门用来存放Mybatis的mappper文件。

    在WEB-INF下创建jsp目录,用来专门存放jsp。

    4.4 整个的目录结构

    至此,目录就创建完成了。完整的目录结构如下:
    在这里插入图片描述

    4.5 修改pom.xml文件

    想要使用Spring 、SpringMVC、Mybatis,我们需要用Maven导入相关的jar包。配置pom.xml文件如下:
    注意这里的jdk版本设置成了12,如果使用的jdk版本与我的不同,请做出相应的更改。最后记得import一下。

    <?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.0</modelVersion>
    
      <groupId>com.yky</groupId>
      <artifactId>ssm-test</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>ssm-test Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <!-- 设置项目编码编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- spring版本号 -->
        <spring.version>4.3.5.RELEASE</spring.version>
        <!-- mybatis版本号 -->
        <mybatis.version>3.4.1</mybatis.version>
        <java.version>12</java.version>
        <maven.compiler.source>12</maven.compiler.source>
        <maven.compiler.target>12</maven.compiler.target>
      </properties>
    
      <dependencies>
    
        <!--springmvc-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <!-- 单元测试 -->
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
        </dependency>
    
        <!-- 实现slf4j接口并整合 -->
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.2.2</version>
        </dependency>
    
        <!-- JSON -->
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.8.7</version>
        </dependency>
          <dependency>
              <groupId>com.fasterxml.jackson.core</groupId>
              <artifactId>jackson-annotations</artifactId>
              <version>2.10.0.pr3</version>
          </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
          <version>2.10.0.pr3</version>
        </dependency>
    
        <!-- 数据库 -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.41</version>
          <scope>runtime</scope>
        </dependency>
    
        <!-- 数据库连接池 -->
        <dependency>
          <groupId>com.mchange</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.5.2</version>
        </dependency>
    
        <!-- MyBatis -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
        </dependency>
    
        <!-- mybatis/spring整合包 -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.1</version>
        </dependency>
    
        <!-- Spring -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</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-jdbc</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-web</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
    
    
    
        <!-- 数据库 -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.41</version>
          <scope>runtime</scope>
        </dependency>
    
    	<!--servlet API-->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>4.0.1</version>
        </dependency>
    
    
      </dependencies>
    
      <build>
        <finalName>ssm-test</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.0.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.7.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.20.1</version>
              <configuration>
                <skipTests>true</skipTests>
              </configuration>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>
    

    4.6 增加Mybatis配置文件

    在resource目录下创建mybatis.xml文件,该文件只需要针对mapper文件进行配置,数据库连接相关操作不在本文件中配置,交由Spring来管理!

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
    
        <mappers>
            <!--一会儿会在这里导入Mapper文件-->
        </mappers>
    </configuration>
    

    4.7 增加数据库连接基本参数配置文件

    在resource目录下新建jdbc.properties,并写入以下内容

    database.driver=com.mysql.jdbc.Driver
    database.url=jdbc:mysql://localhost:3306/mybatisdb
    database.username=root
    database.password=123456
    

    4.8 增加Spring配置文件

    数据库的连接、SqlSession的创建、Mybatis事务的管理都交由Spring来管理。可以看到Spring配置文件中有读取jdbc.properties文件,拿到数据库的连接参数,从而去链接数据库;Spring配置文件中有配置sqlSessionFactory,并导入了先前创建的mybatis.xml配置文件。
    在resource目录下新建applicationContext.xml文件,并写入以下内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
    
        <!-- 配置数据库相关参数properties的属性:${url} -->
        <context:property-placeholder location="classpath:jdbc.properties"/>
    
        <!-- 配置C3P0连接池,目的:管理数据库连接 -->
        <bean id="comboPooledDataSourceID" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${database.driver}"/>
            <property name="jdbcUrl" value="${database.url}"/>
            <property name="user" value="${database.username}"/>
            <property name="password" value="${database.password}"/>
        </bean>
    
    
        <!-- 配置SqlSessionFactoryBean,目的:加载mybaits配置文件和映射文件,即替代原Mybatis工具类的作用 -->
        <bean id="sqlSessionFactoryBeanID" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="configLocation" value="classpath:mybatis.xml"/>
            <property name="dataSource" ref="comboPooledDataSourceID"/>
        </bean>
    
    
        <!-- 配置Mybatis的事务管理器,即因为Mybatis底层用的是JDBC事务管事器,所以在这里依然配置JDBC事务管理器 -->
        <bean id="dataSourceTransactionManagerID" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="comboPooledDataSourceID"/>
        </bean>
    
        <!-- 配置事务通知,即让哪些方法需要事务支持 -->
        <tx:advice id="tx" transaction-manager="dataSourceTransactionManagerID">
            <tx:attributes>
                <tx:method name="*" propagation="REQUIRED"/>
            </tx:attributes>
        </tx:advice>
    
        <!-- 配置事务切面,即让哪些包下的类需要事务 -->
    <!--    <aop:config>-->
    <!--        <aop:pointcut id="pointcut" expression="execution(* com.yky.service.EmpService.addEmp(..))"/>-->
    <!--        <aop:advisor advice-ref="tx" pointcut=""/>-->
    <!--    </aop:config>-->
    
        <!--
            (1)导入jackson-annotations-2.10.0.jar、jackson-core-2.10.0.jar、jackson-databind-2.10.0.jar这三个jar包
            配置JSON适配器
        -->
        <bean id="mappingJackson2HttpMessageConverter"
              class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>
                    <value>text/json;charset=UTF-8</value>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>
        <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <ref bean="mappingJackson2HttpMessageConverter"/>
                </list>
            </property>
        </bean>
        <!--开启以注解的方式来管理事务-->
        <tx:annotation-driven transaction-manager="dataSourceTransactionManagerID"/>
    
        <!--扫描注解-->
        <context:component-scan base-package="com.yky"/>
    
    
    </beans>
    

    4.9 配置web.xml文件

    做好了上面的准备工作后,配置web.xml文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
             xis:schemaLocation="http://java.sun.com/xml/ns/javaee
             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name>client</display-name>
    
      <!--配置前置控制器 -->
      <servlet>
        <servlet-name>ClientDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>ClientDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      
      <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
          <param-name>forceEncoding</param-name>
          <param-value>true</param-value>
        </init-param>
      </filter>
    
      <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <!--欢迎文件-->
      <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    

    至此,关键配置文件添加完毕!再来看一看目录结构:

    在这里插入图片描述

    5. 配置Tomcat尝试跑一下

    基础准备工作已经完成,接下来配置Tomcat尝试跑一下,看欢迎界面能否出来
    Run—>Edit Configurations 弹出以下界面
    在这里插入图片描述
    添加Tomcat服务器
    在这里插入图片描述
    按照下面的步骤选择
    在这里插入图片描述
    在这里插入图片描述
    改一下Application context,改完点确定
    在这里插入图片描述
    运行服务器,访问看一下
    在这里插入图片描述

    6. 类的创建

    6.1 创建Employee类

    package com.yky.domain;
    
    public class Employee {
        private Integer id;
        private String name;
        private Double salary;
        private String sex;
        public Employee(){}
        public Employee(Integer id, String name, Double salary, String sex) {
            this.id = id;
            this.name = name;
            this.salary = salary;
            this.sex = sex;
        }
        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 getSalary() {
            return salary;
        }
        public void setSalary(Double salary) {
            this.salary = salary;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        @Override
        public String toString() {
            return "Emp{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", sal=" + salary +
                    ", sex='" + sex + '\'' +
                    '}';
        }
    }
    

    6.2 创建EmployeeDao类

    package com.yky.dao;
    
    import com.yky.domain.Employee;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    @Repository
    public class EmployeeDao
    {
        @Autowired
        private SqlSessionFactory sqlSessionFactory;
    
        /**
         * 增加员工
         */
        public void add(Employee emp) throws Exception
        {
            SqlSession sqlSession = sqlSessionFactory.openSession();
            sqlSession.insert("empNamespace.add",emp);
            sqlSession.commit();
        }
    
        public List<Employee> getAll() throws Exception
        {
            SqlSession sqlSession = sqlSessionFactory.openSession();
            return sqlSession.selectList("empNamespace.getAll");
        }
    }
    
    

    6.3 增加Mapper文件

    在resource/mapper下新建EmployeeMapper.xml文件,并填入以下内容

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <mapper namespace="empNamespace">
    
        <resultMap type="com.yky.domain.Employee" id="empMap">
            <id property="id" column="eid"/>
            <result property="name" column="ename"/>
            <result property="salary" column="esalary"/>
            <result property="sex" column="esex"/>
        </resultMap>
    
        <!-- 增加员工 -->
        <insert id="add" parameterType="com.yky.domain.Employee">
            insert into employee(eid,ename,esalary,esex) values(#{id},#{name},#{salary},#{sex})
        </insert>
    
        <select id="getAll" resultMap="empMap">
            select * from employee;
        </select>
    
    </mapper>
    

    mybatis.xml文件导入Mapper文件

    <configuration>
    
        <mappers>
            <mapper resource="mapper/EmployeeMapper.xml"/>
        </mappers>
    </configuration>
    

    6.4 创建EmployeeDao的测试类

    测试代码如下:

    package com.yky.dao;
    
    import com.yky.domain.Employee;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import java.util.List;
    
    import static org.junit.Assert.*;
    
    public class EmployeeDaoTest {
    
        ApplicationContext applicationContext;
        public void init()
        {
            //加载Spring配置文件
            applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        }
        @Test
        public void add() throws Exception
        {
            Employee employee = new Employee();
            employee.setId(3);
            employee.setName("tom");
            employee.setSalary(11000D);
            employee.setSex("男");
    
            init();
            EmployeeDao employeeDao = (EmployeeDao) applicationContext.getBean("employeeDao");
            employeeDao.add(employee);
        }
    
        @Test
        public void getAll() throws Exception {
            init();
            EmployeeDao employeeDao = (EmployeeDao) applicationContext.getBean("employeeDao");
            List<Employee> employees = employeeDao.getAll();
            System.out.println(employees);
        }
    }
    

    运行效果:
    在这里插入图片描述

    6.5 创建EmployeeService类,调用Dao层代码

    package com.yky.service;
    
    import com.yky.dao.EmployeeDao;
    import com.yky.domain.Employee;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.util.List;
    
    @Service
    public class EmployeeService
    {
        @Autowired
        private EmployeeDao employeeDao;
    
        @Transactional
        public void addEmp(Employee emp) throws Exception {
            employeeDao.add(emp);
        }
    
        public List<Employee> getAllEmp() throws Exception{
            return employeeDao.getAll();
        }
    }
    
    

    6.6 创建EmployeeAction类,调用Service层代码

    package com.yky.controller;
    
    import com.yky.domain.Employee;
    import com.yky.service.EmployeeService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.List;
    
    @Controller
    @RequestMapping("/emp")
    //@RestController
    public class EmployeeAction
    {
        @Autowired
        private EmployeeService employeeService;
    
        @RequestMapping("/register")
        public String register(Model model, Employee emp) throws Exception
        {
            System.out.println("用户注册");
            employeeService.addEmp(emp);
            System.out.println("注册成功");
            model.addAttribute("message","注册成功");
            return "/WEB-INF/jsp/message.jsp";
        }
    
        @RequestMapping("/getAll")
        public @ResponseBody
        List<Employee> getAll() throws Exception
        {
            System.out.println("获取所有用户");
            return employeeService.getAllEmp();
        }
    }
    
    

    6.7 创建用户注册页面register.jsp

    <%--
      Created by IntelliJ IDEA.
      User: danxi
      Date: 2019/10/31
      Time: 9:34
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>员工注册</title>
    </head>
    <body>
    <form action="${pageContext.request.contextPath}/emp/register" method="POST">
        <table border="2" align="center">
            <tr>
                <th>编号</th>
                <td><input type="text" name="id"></td>
            </tr>
            <tr>
                <th>姓名</th>
                <td><input type="text" name="name"></td>
            </tr>
            <tr>
                <th>薪水</th>
                <td><input type="text" name="salary"></td>
            </tr>
            <tr>
                <th>性别</th>
                <td>
                    <input type="radio" name="sex" value=""/><input type="radio" name="sex" value="" checked/></td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <input type="submit" value="注册"/>
                </td>
            </tr>
        </table>
    </form>
    </body>
    </html>
    
    

    6.8 创建提示页面message.jsp

    <%--
      Created by IntelliJ IDEA.
      User: danxi
      Date: 2019/10/31
      Time: 11:30
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>提示</title>
    </head>
    <body>
        <h1>${message}</h1>
    </body>
    </html>
    
    

    7. 最终效果

    浏览器访问http://localhost/register.jsp
    在这里插入图片描述
    成功注册
    在这里插入图片描述

    通过postman成功拿到json数据:
    在这里插入图片描述

    8. 可能遇到的坑

    8.1 JDK版本不匹配导致报错

    解决方法:
    步骤1:file—>Progect structure确保以下几个位置的版本一致
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    步骤2:settings—>Build,Execution,Deployment—>Compiler—>java Compiler
    在这里插入图片描述
    通过以上两部就解决了JDK版本不一致的问题。

    8.2 明明已经在Maven中导入了相关jar包还报错

    诸如以下形式的错误:

    java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
    
    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    

    此时查看spring配置文件和web.xml文件中的相关类也可以点进去。
    在这里插入图片描述
    其实问题所在是tomcat的WEB-INF下没有lib文件所致,既然没有,那就把它加进去!
    file—>Progect structure—>Artifacts
    右键点击最右侧的工程名,选择Put into Output Root,点击后发现左侧的WEB-INF下多了lib文件,这样的话这个问题就解决了!
    在这里插入图片描述

    参考

    Mybatis【与Spring整合】
    关于IDEA使用maven整合ssm框架

    展开全文
  • <project xmlns=... xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion&g
  • 这个是一个idea通过maven搭建的小实例,非常的简洁。没有什么多余的代码。就是一个在ssm框架下查询信息。非常适合入门者。
  • Maven_SSM环境搭建

    2018-06-23 19:41:13
    eclipse的Maven_SSM环境搭建,tomcat7,jdk1.7,Maven_SSM环境搭建
  • 使用idea搭建maven+ssm项目

    万次阅读 多人点赞 2018-05-23 18:01:11
    先新建一个maven项目1.file-&gt;new-&gt;project-&gt;next2.maven-&gt;勾选creat from archetype-&gt;webapp,同时选择java版本-&gt;next3.输入GroupID,ArtifacID(在网上看到的一些解释:...
  • IDEA+Maven搭建SSM框架项目完整流程

    千次阅读 多人点赞 2019-06-28 15:08:42
    IDEA+Maven搭建SSM框架项目创建数据库创建工程写项目利用Tomcat进行部署参考博客 创建数据库 本文数据库使用MySQL 5.6.24,使用SQLyog来进行操作。 首先创建一个名为library的数据库,在数据库中创建一张名为book...
  • Maven+ssm真正可以运行的项目

    热门讨论 2017-07-28 10:55:13
    ssm02工程,是用maven管理,是实现用户的登陆和注册以及修改密码,用户登录账号后,可以查看学生的列表,对学生的信息进行怎删改查!绝对可以运行,放心下载
  • maven+eclipse搭建ssm项目

    千次阅读 2019-02-28 13:06:40
    系统环境: 以下是我用的系统环境。...1.下载并安装maven maven的下载地址:http://maven.apache.org/download.cgi 下载后解压放在指定路径下: 在环境变量中,新增系统变量名:M2,变量值:E:\apac...
  • 最简单的SSM环境搭建例子,适合小白,欢迎下载,使用maven搭建SSM环境的例子
  • 自己昨天才搭建好的例子,绝对可以运行,数据库连接部分修改即可
  • 使用maven搭建SSM环境

    2019-11-01 12:37:05
    maven搭建SSM 配置外部maven
  • maven搭建ssm框架

    2018-07-06 14:05:49
    maven搭建的一个ssm框架,对于入门的码友应该还是有帮助的。
  • IDEA使用Maven搭建SSM项目

    千次阅读 2017-01-12 15:45:53
     IDEA使用Maven搭建SSM项目( MyEclipse建立ssm框架Demo可点击这里: 点我呀 ) 一、 IDEA的激活:这里给大家一个网址: http://idea.iteblog.com/  这里提供了两种方式激活: 按要求输入就行,(这种方式激活后...
  • 问题:加载jsp页面,没有样式。 解决办法:1、该加载的文件路径要对,如图: 2、如果还是不行,则在web.xml 中配置如下代码,用于加载静态文件。 <!-- 加载静态css、js、images等文件-------防止启动Tomcat访问...
  • Maven搭建SSM框架示例

    2018-04-09 19:27:15
    适合理解ssm框架搭建流程简单案例,maven项目演练案例
  • maven搭建SSM

    2016-05-25 17:18:56
    spring mybatis springMvc maven框架搭建.
  • 第一遍博客,记录在学习IT路上的的一些总结工具:eclipse,jdk1.8虽然maven作为Java构建工具和Gradle比已经要凉了,但作为刚入行的可以了解一下第一步建一个maven项目,在这里我用的是maven3.5.3,下图settings.xml...
  • 1.new-project 2.点击下一步后到这里 3.点击下一步后到这里,选择Maven,软件自带的,或者自己配置的 4.下一步 5.点击下一步后 6.搭建完成
  • SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 先来认识一下这些东西 Spring Spring就像是整个项目中...
  • maven搭建ssm项目

    2015-05-05 13:51:13
    maven 搭建的spring+struts+mybatis项目架子。各种配置文件已经写好,只需根据自己实际情况修改即可。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,043
精华内容 6,817
关键字:

maven搭建ssm项目