前言

  开发环境:Eclipse Mars + Maven + JDK 1.7 + Tomcat 7 + MySQL

  主要框架:Spring + Spring MVC + Mybatis

  目的:快速上手搭建SSM开发环境,熟悉客户端请求到数据库操作的流程。

准备工作

  本文以“人”Person对象为例,所以首先在数据库中建一张表。这里用的Navicat for MySql,新建一个名为ssm的数据库,然后在库中新建一张名为TBL_PERSON的表,3个字段,分别为主键id,姓名name,性别gender,都为字符串类型。这里主键id没有采用自增,而是用UUID随机字符串。数据表概要如图所示。

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

  新建一个maven web项目,工程结构如下和pom.xml配置如下,并创建一个pojo类Person

aaarticlea/png;base64,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" alt="" />

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mmm</groupId>
<artifactId>ssm-web</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ssm-web Maven Webapp</name>
<url>http://maven.apache.org</url> <properties>
<!-- spring版本号 -->
<spring.version>4.0.2.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.2.6</mybatis.version>
<!-- log4j日志文件管理包版本 -->
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- spring核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</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-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</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.2.2</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<!-- 导入Mysql数据库链接jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!-- JSTL标签类 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.41</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>
<build>
<finalName>ssm-web</finalName>
</build>
</project>
package com.mmm.pojo;
/**
* Person实体类
* */
public class Person { private String id; private String name; private String gender; public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} }

配置篇

  1.Spring 集成Mybatis配置文件以及应用(application-root.xml + maybatis-config.xml + jsbc.properties)

<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 引入数据库配置参数文件jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties"/> <!-- Spring会扫描指定包下的bean注解例如@Controller、@Service等 -->
<context:component-scan base-package="com.mmm" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean> <!-- spring和MyBatis整合 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapper.xml文件 -->
<property name="mapperLocations" value="classpath:com/mmm/mapper/*.xml"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean> <!-- Mapper接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.mmm.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean> </beans>
<?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>
<!-- 这里可以定义类的别名,在mapper.xml文件中应用会方便很多 -->
<typeAliases>
<typeAlias alias="person" type="com.mmm.pojo.Person" />
</typeAliases>
</configuration>
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456

  2.Spring MVC配置(application-mvc.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 自动扫描开启 -->
<context:component-scan base-package="com.mmm.web" />
<mvc:annotation-driven/> <!-- Spring MVC视图解析配置-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean> </beans>

  3.PersonMapper映射配置文件(personMapper.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="com.mmm.mapper.PersonMapper"> <resultMap type="person" id="personResultMap" >
<id property="id" column="id"></id>
<result property="name" column="name"></result>
<result property="gender" column="gender"></result>
</resultMap> <!-- 新增一条记录 -->
<insert id="insert" parameterType="person" >
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String">
select replace(uuid(),'-','') from dual
</selectKey>
insert into `TBL_PERSON` values (#{id},#{name},#{gender})
</insert> <!-- 删除一条记录 -->
<delete id="delete">
delete from `TBL_PERSON` where id = #{id}
</delete> <!-- 更新一条记录 -->
<update id="update" parameterType="person">
update `TBL_PERSON` set name = #{name}, gender = #{gender}
</update> <!-- 查找所有记录 -->
<select id="selectAll" resultMap="personResultMap">
select * from `TBL_PERSON`
</select> <!-- 根据主键id查找记录 -->
<select id="selectById" resultType="person">
select * from `TBL_PERSON` where id = #{id}
</select>
</mapper>

  4.web.xml配置(web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"> <!-- Spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-root.xml</param-value>
</context-param>
<!-- 编码过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<async-supported>true</async-supported>
<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>
<!-- Spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- Spring MVC servlet -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> </web-app>

代码篇

  1.mapper包下(com.mmm.mapper)

package com.mmm.mapper;

import java.util.List;

import com.mmm.pojo.Person;

public interface PersonMapper {
//新增一个Person对象
void insert(Person p); //根据主键id删除Person对象
void deleteById(String id); //修改一个person对象
void update(Person p); //根据主键id查找Person对象
Person selectById(String id); //查找所有Person对象,返回集合类型
List<Person> selectAll(); }

  2.service包下(com.mmm.service)

package com.mmm.service;

import java.util.List;

import com.mmm.pojo.Person;

public interface PersonService {

    //新增一个Person对象
void insert(Person p); //根据主键id删除Person对象
void deleteById(String id); //修改一个person对象
void update(Person p); //根据主键id查找Person对象
Person selectById(String id); //查找所有Person对象,返回集合类型
List<Person> selectAll();
}
package com.mmm.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.mmm.mapper.PersonMapper;
import com.mmm.pojo.Person;
@Service
public class PersonServiceImpl implements PersonService { @Resource
PersonMapper personMapper; @Override
public void insert(Person p) {
personMapper.insert(p);
} @Override
public void deleteById(String id) {
personMapper.deleteById(id);
} @Override
public void update(Person p) {
personMapper.update(p);
} @Override
public Person selectById(String id) {
return personMapper.selectById(id);
} @Override
public List<Person> selectAll() {
return personMapper.selectAll();
} }

  3.web包下(com.mmm.web)

package com.mmm.web;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import com.mmm.pojo.Person;
import com.mmm.service.PersonService; @Controller
@RequestMapping("person")
public class PersonController { @Autowired
PersonService personService; /**
* 这里return的字符串"mvc"加上前面Spring MVC配置文件中视图解析配置的前缀"/WEB-INF/views/"和后缀".jsp",
* 构成了要请求转发要跳转到的页面路径,从根路径webapp下开始,即为/WEB-INF/views/mvc.jsp
* */
@RequestMapping(value="mvc")
public String testMvc() {
return "mvc";//
} /**
* 这里@ResponseBody代表方法是直接返回一个json数据回前端,
* 注意Spring mvc配置文件中不要漏掉<mvc:annotation-driven/>
* */
@RequestMapping(value="list")
@ResponseBody
public List<Person> findAll() {
List<Person> list = personService.selectAll();
return list;//这里通过前端返回的json数据查看到完整数据
} /**
* 其中@PathVariable用来获得请求url中的动态参数
* */
@RequestMapping(value="one/{id}")
@ResponseBody
public Person findOne(@PathVariable("id") String id) {
return personService.selectById(id);
} }

  至此,ssm开发基本环境已经初步搭建好

测试篇

  1.测试mybatis封装的持久层(这里以获取所有TBL_PERSON表的NAME字段值为例)

package com.test;

import java.util.List;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.mmm.pojo.Person;
import com.mmm.service.PersonService; public class TestDb {
@SuppressWarnings("resource")
@Test
public void testDb() {
ApplicationContext context = new ClassPathXmlApplicationContext("application-root.xml");
PersonService bean = (PersonService) context.getBean("personServiceImpl");
List<Person> list = bean.selectAll();
for(Person p:list) {
System.out.println(p.getName());
} }
}

结果如下

aaarticlea/png;base64,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BUCDmerSaXxUwQq0QD7sLJSQkzclyhfLxQfgOApEABFABBABRCAOEGi5t4zuh0lmLmPHzPSqNUXbjmm4gLU2fy0ZkR4HMDVvCHRnabFZZfMkYCtEABFABBABRAARaD8IuJll3rxlSePy5b5KqWnppOHDamaX1ayj1lr+uD7tB0wcKSKACCACiAAigAggAs1HwM0sa1luWep0aa01Xz1siQggAogAIoAIIAKIQHtBwM0s8+YtU5Gqqa4iySPS5F7Tal17LMMmyxXrN9e1x6HjmBEBRAARQAQQAUQgVATczLIQvWU0yayKpE8ch1aZuAo08/8lcn9CQgIuyRSY4CcigAggAogAIoAIOCAQlpWYVHbNumfKG5KzHp2e6tBTeyTDezJ866f5A4Ho3U66PV4WHDMigAggAogAIhCdCITHW8YcZWCT5aOnzHCZ/bUVGdMmoU1mAAVPEAFEABFABBABRMAeATezzGNuGXs1GUGbzB5gpCICiAAigAggAogAIuANAbcgppfcssrcmq3lDdBX+TPzy0WX7O2xzFqjNfRYMx9eN4vuNA4G/kUEEAFEABFABBABRMAGATezzJu3DF6EsWy6jWT6PrNxNnQkIQKIACKACCACiAAigAjYIOAWxPTiLbMRiSSBQNnGEpI2FFPLBB74iQggAogAIoAIIAJuCLTcWwZ7YuJhRoAuwSyoICS3NJBtrsNzRAARQAQQAUQAEUAE7BBICAQCQN9/5LysramtzZ4wEk6bmpokMToLly5d6tjRzbKMTrVRK0QAEUAEEAFEABFABKwIRJdN8+mnn6oqwmtY1VPbMjcrbauQiAggAogAIoAIIAKIQAwhEF1mmcn1hWZZDM0kVBURQAQQAUQAEUAEWohAdJllnTt3Djoek6125cqVoE2QARFABBABRAARQAQQgehHILrMsg4dDCtDpQUGthccUGtiAHwlT/RjjRoiAogAIoAIIAKIACLggoDBDHLha8MqbpO98sorUGhDNbBrRAARQAQQAUQAEUAEIopAtJtl3CZbvnx5z549IwoECkcEEAFEABFABBABRKBtEYhqs4zbZD/96U979+59/fXXty1S2DsigAggAogAIoAIIAIRRSDazbKioqJrrrkmOTm5S5cuEQUChSMCiAAigAggAogAItC2CES1WQYJ/vn5+eAn69q1a6dOndoWKewdEUAE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f/zpRRNvufi6t3/zf957+c//zPN///nvPbL8un89892XVvWWf8wqPPvscz948aV9u94sH/V5bEICf/ep/3bhRa+2hl/40jfP+/63sXymY976zuuffOTRV8SFP/rPZso+mc21lQLf/e4LF1wQPLTgJY/3/6eFJ54qVnnKlb36yjd94jd/Gi57OWnrxeAVqEsueVVtvX7/bz/+I5df8nNv+5mvv/D1zz72uae+8dzrXvX6979jwB+/rikOT0J4w6SVO1OjMZuMLf/vvmTXTTvlNt4HHjv92PP/sPzSs7/59l/IZmACCZDAxiOAaa0HH3xw165d+MVX3zr8aBni8aNlUbwv44cxu/a+970PnzzHqih8Mnyv6aabbur3+/fddx+WL7/1rW9h7u2P/uiP/CwIf+QjH/m1X5P7RqIjuPFEafb0pee+9p1P/+0rL7zwnU/99SvmxYfPfOZz+ByNlUEAS11v3XmlH8PwZiHwzn/+r3xTV195+Qcv6n1lYuX+/7780OmLLvmRt1x3APMwvtgWDuNRKXrGOP+8c//8yC1buMqtqlaeLUtm3/UjO7/8tcce+uoXvvy1rzz//bPPf+/lf7F7X1JyoEisqz142c/pKafH/0a9i2hmagfS1ybTM9/7FhyyG67ZB5+sTT7KkgAJbBQCl156KfynsjX4xf+f+qmfKsfnYvCjGHDFjhw5AoHDhw9rnbOzs5iK+8QnPgFtx44dy+Utxzdyy17+xjdfVllfetYNQO9514/9AL/2j6kB9aNWeNsaG6LLBTBmUxC4aIebKisMvri4wZ17/qsue9O+K3b9801RkVEZec65aiVwVOq2nJ5zzq3fUYtK/+Su68++dPb/fPmLmHc979wLbtn341e/7o2jgxGsqyU2kY+upLImTI8tf+vZ+x46XU5iDAmQwHYjgGXT8srpr6qjLYr6Rcy2GilPAluAwIvffwkfodoCFemoCljSvfCC8ztSTrUkQAIksG0JNJot27Z0WPFtS0D9PgY3SmbbH3yyaUwgARIgARIYlADdskHJMd+WJlDeW7alq9u6cg33lrXWywwkQAIksL0J0C3b3u3P2mcI0O3IgCmio/chqoWZSgIkQAIk0JAAd880BEUxEiABEiABEiABEuiWAN2ybvlSOwmQAAmQAAmQAAk0JEC3rCEoipEACZAACZAACZBAtwTolnXLl9pJ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thWBRouYrYhYV4yrma24UZgESIAESIAESGCbE2jtllmvKwcu8sZ8eT8cieW0MZ4ESIAESIAESIAEtgmB1m5ZW3eqrfw24c5qkgAJkAAJkAAJkEBEoMO9ZVFJPCUBEiABEiABEiABEqggQLesAg6TSIAESIAESIAESGDtCNAtWzvWLIkESIAESIAESIAEKgjQLauAwyQSIAESIAESIAESWDsCA7pl/juVOWPLMuWYXF7GkwAJkAAJkAAJkMB2I9D6TcxaQL7v5Yd1RhvDNzRrSVKABEiABEiABEhgWxEYvVtm/S14YDasmZZjthVrVpYESIAESIAESIAEKggMuIhZodEmaZ/MTo8hPvLSrCQDJEACJEACJEACJEAC7dwy38fS7MoxEVO4YrUyURaekgAJkAAJkAAJkMA2JDDsIqb2uvxpsKQTVo70s2xD7qwyCZAACZAACZAACUQEWrhlcK2SvlTkmfkyuSyRETwlARIgARIgARIgARJouohZ7WBpz4w0SYAESIAESIAESIAEBibQaLas2ierLht5IwF/Oi1K4ikJkAAJkAAJkAAJbFsCjdyyJo5UWSbpzJW9tG2LnhUnARIgARIgARIgAZ9A00VMPw/DJEACJEACJEACJEACIyfQlVuWnCobufVUSAIkQAIkQAIkQAJbhkAnbhl9si3TP1gREiABEiABEiCBNSPQaG+Zb03t5rCcT6Yzlreg+coZJgESIAESIAESIIFtS6C1W1brV+UEcvHbFj0rTgIkQAIkQAIkQAI+gU4WMf0CGCYBEiABEiABEiABEmhCgG5ZE0qUIQESIAESIAESIIHOCdAt6xwxCyABEiABEiABEiCBJgToljWhRBkSIAESIAESIAES6JwA3bLOEbMAEiABEiABEiABEmhCgG5ZE0qUIQESIAESIAESIIHOCdAt6xwxCyABEiABEiABEiCBJgToljWhRBkSIAESIAESIAES6JwA3bLOEbMAEiABEiABEiABEmhCgG5ZE0qUIQESIAESIAESIIHOCdAt6xwxCyABEiABEiABEiCBJgToljWhRBkSIAESIAESIAES6JwA3bLOEbMAEiABEiABEiABEmhCgG5ZE0qUIQESIAESIAESIIHOCdAt6xwxCyABEiABEiABEiCBJgToljWhRBkSIAESIAESIAES6JwA3bLOEbMAEiABEiABEiABEmhCgG5ZE0qUIQESIAESIAESIIHOCdAt6xwxCyABEiABEiABEiCBJgT+P+a54l0n02uXAAAAAElFTkSuQmCCAA==" alt="" />

  2.测试Spring MVC部分

  Tomcat启动项目,地址栏输入http://localhost:8080/ssm-web/person/list,拿到如下图所示数据即为成功

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5cAAAFnCAIAAAC9+iqCAAAgAElEQVR4Ae3dC7hVVbnw8blr40lR9OsgkYIbjIN7K6EFhqh5Q+VmhX0eLycepWPmJS8gauQlwlt4BdNSKwv76Kgcn4AU8QaJqaRCXsL2hscEEj1E1veFggQb9/fOOdZ699hjzrXWXNc911r/9ewWY445xjvG/E16eB1rrLkb/vnP7V6M144dO1pbWzdt2rTbbrvtt1//3XffY5ddevTqtad03bz5H9u37/jgg/f//Oe3t27d2qdPn5aWlh49esSIShME8hDoCF5///vf169fv23btjx60hQBBBBAAAEEaktg1113bYiTxb755pvr1q3bf//9Bw4csMsuu2RB2L59+9q16956660BAwYMGjQoS0tOIZCXgGSw0l7eV6x4+XOf+1zPnj3z6k5jBBBAAAEEEKglgffffz9HFitLsC+//JJkDAceeKCswsa8eFmRfeONP27duuXQQ7/AomxMNJplFzALsfL+u9/97thjj8nemLMIIIAAAgggUPMCH8tyhZs3b162bNmnP/3p4cOHx09hJaA0PvTQ4dJRukuQLENwCoG8BMyKbF5daIwAAggggAACNSmQMYuVVdiXXnrpoIMOGjx4cGFXLh2l+yuvvCKhCotALwRsAVJYW4MyAggggAACxQts2LCh+CDdFSFjFisbCT7zmf3li1zFzEy6y4+EKiYIfREw2wnEgUSWvwwIIIAAAgggYASis1j5OpfshS14FdbGlSC77dZTAtqVlBFAAAEEEEAAAQQQKEYgIouVDQDyRAL5Olcxce2+Bx10oASst30FW7ZsuTR4ScHWoIwAAggggAACCCAQKXB38Io8Fa5sDFfJc2HloVrZv84lmdlVV10lfWfPnh2O4NRIKAkoYYcOHeqcynm4fPlyaXPooYc2NkZMNWf3yAYy+UcfffTFF19cu3atNBgyZMiIEV849tjjzMObpkyZ0tDQcPvtt0f2jVkpQ1xzzTUmvhSuu+46ngwVk65UzeRBGUuXLn311Vfffvttidm/f/9DDjnkuOOOy/4Xu1SjEwcBBBBAAIHKCNz4g587A1158delJlO90zhRh5L1yT/cMiUpjBw5MufcIlJD+dUGn/3skCw9TQorD4UdOHBglmb2qYEDByxZstSuiV+Wpxy8/PLLpUpkJXm9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" alt="" />

反省篇

  最后,SSM开发环境基本搭建完毕,既然是基本,还存在许多没有尽量完善的地方。首先Mybatis部分,这里是从零开始,也没用到什么逆向工程之类的,都自己手写,便于理解,然后关联映射只写了简单的单表操作,关联的没写到,另外单表简单操作,在这里与spring集成过程中事务也没有进行事务管理的配置等。Spring MVC方面更是简陋了点,不过实际工作开发中,比较核心的有视图解析后转发到相应页面和json返回数据,大多问题是在考虑怎样实现业务逻辑。很多细节没有写出来,然后有些原理性的东西自己也还需要不断理解学习,之后应该写一些关键细节描述类的总结文。

最新文章

  1. java IO基础操作
  2. C语言教学--二维数组和指针的理解
  3. ArcPy之Python介绍
  4. ExceptionLess新玩法 -- 审计日志
  5. 【转帖】自助式BI的崛起:三张图看清商业智能和大数据分析市场趋势
  6. TCP拥塞控制
  7. 从Wordpress迁移到Jekyll
  8. HDU 2122
  9. GTK+编程概述
  10. 锋利的jQuery(1)——DOM对象与jQuery对象的转换
  11. jQuery操作之效果
  12. 自己动手写CPU(基于FPGA与Verilog)
  13. python实现简单的一个刷票点赞功能
  14. Lodop简短问答客户反馈篇 及排查步骤 及注册相关
  15. CentOS7编译安装SVN(subversion1.9.7)
  16. MySQL数据库学习书单/书籍
  17. oracle 11G direct path read 很美也很伤人
  18. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素
  19. vue项目打包后一片空白及资源引入的路径报错解决办法
  20. Bitmap byte[] InputStream Drawable 互转

热门文章

  1. win10 3dmax 激活后反复激活和激活码无效问题
  2. Babylon.GUI官方文档翻译
  3. C#同步方法转异步
  4. 关于限制DHCP服务器广播的另类方法
  5. 基于FFMPEG的跨平台播放器实现
  6. JSP中的九大隐式对象及四个作用域
  7. MyBatis 原始Dao开发方式
  8. HTTP认证方式与https简介
  9. LeetCode 59. Spiral Matrix II (螺旋矩阵之二)
  10. tamcat的使用