JAVAEE――宜立方商城第一天:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

匿名 (未验证) 提交于 2019-12-02 21:53:52

1. ѧϰ计划

第一天:

1、电商行业的背景。

2、宜立方商城的系统架构

3、-

maven

maventomcat

4、SSM

5、svn的使用。

第二天:

1、dubbo

2、项目改造为基于SOA

3、商品列表查询功能实现。

第三天:

1、商品类目选择

2、图片上传功能分析

3、nginx

4、Nginx

5、Nginx

6、Nginx

第四天:

1、FastDFS

2、上传图片功能实现

3、富文本编辑器使用

4、商品添加功能实现

第五天

1、前台系统搭建

2、Cms

第六天:

1、前台内容动态展示

2、Redis

3、向业务逻辑中添加缓存。

4、redis

5、缓存同步。

第七天:

1、Solr

2、Solrj

3、把数据库中的数据导入索引库

4、搜索功能的实现

第八天:

1、solr

2、solrjsolr

3、把搜索功能切换到集群版

4、MQ

5、MQ

6、使用Activemq

第九天:

1、ActiveMQ整合spring。

2、使用消息队列实现商品同步。

3、 jsp + redis

第十天:

1、freemarker

2、ActiveMq

3、Sso

第十一天:

1、sso

2、sso

3、token

4、Ajaxjsonp

第十二天:

1、使用cookie

2、将购物车数据保存到服务端

第十三天:

1、订单确认页面

2、登录拦截器实现

3、订单系统完成

4、mycat

第十四天

1、系统部署

2、项目总结

3、Git

4、实战说明

第十五~七天:

项目实战

电商行业背景介绍

20127.8530.83%B2B6.2527%2011633%GDP13%2012GDP15%2013

009-2015

结论:

1、电商行业很挣钱,找互联网相关的工作。

2、电商行业技术要求很高、高可用、海量数据的存储。

  • 技术新
  • 技术范围广
  • 分布式
  • 高并发、集群、负载均衡、高可用
  • 海量数据
  • 业务复杂
  • 系统安全

宜立方商城介绍

宜立方B2C

管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。

客服可以在后台管理系统中处理用户的询问以及投诉。

电商模式:

B2B

B2C

C2C

B2B2C

O2O


宜立方商城架构

后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。

前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。

会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。

订单系统:提供下单、查询订单、修改订单状态、定时处理订单。

搜索系统:提供商品的搜索功能。

单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。


系统架构

20tomcattomcat

5


10000

需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。

分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。

集群:同一个工程部署到多台服务器上。

分布式架构:

把系统按照模块拆分成多个子系统。

优点:

1、把模块拆分,使用接口通信,降低模块之间的耦合度。

2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。

3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。

4、可以灵活的进行分布式部署。

缺点:

1

2


soa

SOAService Oriented Architecture

工程搭建

maven

maven

Jar

工程之间的依赖管理

自动打包


后台工程搭建分析

Mavenjarwarpom

Pomjarmaven

e3-parentpomjar

  |--e3-commonpojojar

  |--e3-managerPom

    |--e3-manager-daojar

    |--e3-manager-pojojar

    |--e3-manager-interfacejar

    |--e3-manager-servicejar

    |--e3-manager-webwar

Pom

eclipse mars2

Maven3.3.9

~/.m2/repository

Eclipse.m2

Pom

<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>cn.e3mall</groupId>     <artifactId>e3-parent</artifactId>     <version>0.0.1-SNAPSHOT</version>     <packaging>pom</packaging>     <!-- 集中定义依赖版本号 -->     <properties>         <junit.version>4.12</junit.version>         <spring.version>4.2.4.RELEASE</spring.version>         <mybatis.version>3.2.8</mybatis.version>         <mybatis.spring.version>1.2.2</mybatis.spring.version>         <mybatis.paginator.version>1.2.15</mybatis.paginator.version>         <mysql.version>5.1.32</mysql.version>         <slf4j.version>1.6.4</slf4j.version>         <jackson.version>2.4.2</jackson.version>         <druid.version>1.0.9</druid.version>         <httpclient.version>4.3.5</httpclient.version>         <jstl.version>1.2</jstl.version>         <servlet-api.version>2.5</servlet-api.version>         <jsp-api.version>2.0</jsp-api.version>         <joda-time.version>2.5</joda-time.version>         <commons-lang3.version>3.3.2</commons-lang3.version>         <commons-io.version>1.3.2</commons-io.version>         <commons-net.version>3.3</commons-net.version>         <pagehelper.version>3.4.2-fix</pagehelper.version>         <jsqlparser.version>0.9.1</jsqlparser.version>         <commons-fileupload.version>1.3.1</commons-fileupload.version>         <jedis.version>2.7.2</jedis.version>         <solrj.version>4.10.3</solrj.version>         <dubbo.version>2.5.3</dubbo.version>         <zookeeper.version>3.4.7</zookeeper.version>         <zkclient.version>0.1</zkclient.version>         <activemq.version>5.11.2</activemq.version>         <freemarker.version>2.3.23</freemarker.version>         <quartz.version>2.2.2</quartz.version>     </properties>     <dependencyManagement>         <dependencies>             <!-- 时间操作组件 -->             <dependency>                 <groupId>joda-time</groupId>                 <artifactId>joda-time</artifactId>                 <version>${joda-time.version}</version>             </dependency>             <!-- Apache工具组件 -->             <dependency>                 <groupId>org.apache.commons</groupId>                 <artifactId>commons-lang3</artifactId>                 <version>${commons-lang3.version}</version>             </dependency>             <dependency>                 <groupId>org.apache.commons</groupId>                 <artifactId>commons-io</artifactId>                 <version>${commons-io.version}</version>             </dependency>             <dependency>                 <groupId>commons-net</groupId>                 <artifactId>commons-net</artifactId>                 <version>${commons-net.version}</version>             </dependency>             <!-- Jackson Json处理工具包 -->             <dependency>                 <groupId>com.fasterxml.jackson.core</groupId>                 <artifactId>jackson-databind</artifactId>                 <version>${jackson.version}</version>             </dependency>             <!-- httpclient -->             <dependency>                 <groupId>org.apache.httpcomponents</groupId>                 <artifactId>httpclient</artifactId>                 <version>${httpclient.version}</version>             </dependency>             <!-- quartz任务调度框架 -->             <dependency>                 <groupId>org.quartz-scheduler</groupId>                 <artifactId>quartz</artifactId>                 <version>${quartz.version}</version>             </dependency>             <!-- 单元测试 -->             <dependency>                 <groupId>junit</groupId>                 <artifactId>junit</artifactId>                 <version>${junit.version}</version>                 <scope>test</scope>             </dependency>             <!-- 日志处理 -->             <dependency>                 <groupId>org.slf4j</groupId>                 <artifactId>slf4j-log4j12</artifactId>                 <version>${slf4j.version}</version>             </dependency>             <!-- Mybatis -->             <dependency>                 <groupId>org.mybatis</groupId>                 <artifactId>mybatis</artifactId>                 <version>${mybatis.version}</version>             </dependency>             <dependency>                 <groupId>org.mybatis</groupId>                 <artifactId>mybatis-spring</artifactId>                 <version>${mybatis.spring.version}</version>             </dependency>             <dependency>                 <groupId>com.github.miemiedev</groupId>                 <artifactId>mybatis-paginator</artifactId>                 <version>${mybatis.paginator.version}</version>             </dependency>             <dependency>                 <groupId>com.github.pagehelper</groupId>                 <artifactId>pagehelper</artifactId>                 <version>${pagehelper.version}</version>             </dependency>             <!-- MySql -->             <dependency>                 <groupId>mysql</groupId>                 <artifactId>mysql-connector-java</artifactId>                 <version>${mysql.version}</version>             </dependency>             <!-- 连接池 -->             <dependency>                 <groupId>com.alibaba</groupId>                 <artifactId>druid</artifactId>                 <version>${druid.version}</version>             </dependency>             <!-- Spring -->             <dependency>                 <groupId>org.springframework</groupId>                 <artifactId>spring-context</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-webmvc</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-aspects</artifactId>                 <version>${spring.version}</version>             </dependency>             <dependency>                 <groupId>org.springframework</groupId>                 <artifactId>spring-jms</artifactId>                 <version>${spring.version}</version>             </dependency>             <dependency>                 <groupId>org.springframework</groupId>                 <artifactId>spring-context-support</artifactId>                 <version>${spring.version}</version>             </dependency>             <!-- JSP相关 -->             <dependency>                 <groupId>jstl</groupId>                 <artifactId>jstl</artifactId>                 <version>${jstl.version}</version>             </dependency>             <dependency>                 <groupId>javax.servlet</groupId>                 <artifactId>servlet-api</artifactId>                 <version>${servlet-api.version}</version>                 <scope>provided</scope>             </dependency>             <dependency>                 <groupId>javax.servlet</groupId>                 <artifactId>jsp-api</artifactId>                 <version>${jsp-api.version}</version>                 <scope>provided</scope>             </dependency>             <!-- 文件上传组件 -->             <dependency>                 <groupId>commons-fileupload</groupId>                 <artifactId>commons-fileupload</artifactId>                 <version>${commons-fileupload.version}</version>             </dependency>             <!-- Redis客户端 -->             <dependency>                 <groupId>redis.clients</groupId>                 <artifactId>jedis</artifactId>                 <version>${jedis.version}</version>             </dependency>             <!-- solr客户端 -->             <dependency>                 <groupId>org.apache.solr</groupId>                 <artifactId>solr-solrj</artifactId>                 <version>${solrj.version}</version>             </dependency>             <!-- dubbo相关 -->             <dependency>                 <groupId>com.alibaba</groupId>                 <artifactId>dubbo</artifactId>                 <version>${dubbo.version}</version>             </dependency>             <dependency>                 <groupId>org.apache.zookeeper</groupId>                 <artifactId>zookeeper</artifactId>                 <version>${zookeeper.version}</version>             </dependency>             <dependency>                 <groupId>com.github.sgroschupf</groupId>                 <artifactId>zkclient</artifactId>                 <version>${zkclient.version}</version>             </dependency>             <dependency>                 <groupId>org.apache.activemq</groupId>                 <artifactId>activemq-all</artifactId>                 <version>${activemq.version}</version>             </dependency>             <dependency>                 <groupId>org.freemarker</groupId>                 <artifactId>freemarker</artifactId>                 <version>${freemarker.version}</version>             </dependency>          </dependencies>     </dependencyManagement>      <build>         <finalName>${project.artifactId}</finalName>         <plugins>             <!-- 资源文件拷贝插件 -->             <plugin>                 <groupId>org.apache.maven.plugins</groupId>                 <artifactId>maven-resources-plugin</artifactId>                 <version>2.7</version>                 <configuration>                     <encoding>UTF-8</encoding>                 </configuration>             </plugin>             <!-- java编译插件 -->             <plugin>                 <groupId>org.apache.maven.plugins</groupId>                 <artifactId>maven-compiler-plugin</artifactId>                 <version>3.2</version>                 <configuration>                     <source>1.7</source>                     <target>1.7</target>                     <encoding>UTF-8</encoding>                 </configuration>             </plugin>         </plugins>         <pluginManagement>             <plugins>                 <!-- 配置Tomcat插件 -->                 <plugin>                     <groupId>org.apache.tomcat.maven</groupId>                     <artifactId>tomcat7-maven-plugin</artifactId>                     <version>2.2</version>                 </plugin>             </plugins>         </pluginManagement>     </build> </project>
pom.xml

pojojar

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-parent</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <groupId>cn.e3mall</groupId>     <artifactId>e3-common</artifactId>     <version>0.0.1-SNAPSHOT</version>     <dependencies>         <!-- 时间操作组件 -->         <dependency>             <groupId>joda-time</groupId>             <artifactId>joda-time</artifactId>         </dependency>         <!-- Apache工具组件 -->         <dependency>             <groupId>org.apache.commons</groupId>             <artifactId>commons-lang3</artifactId>         </dependency>         <dependency>             <groupId>org.apache.commons</groupId>             <artifactId>commons-io</artifactId>         </dependency>         <dependency>             <groupId>commons-net</groupId>             <artifactId>commons-net</artifactId>         </dependency>         <!-- Jackson Json处理工具包 -->         <dependency>             <groupId>com.fasterxml.jackson.core</groupId>             <artifactId>jackson-databind</artifactId>         </dependency>         <!-- httpclient -->         <dependency>             <groupId>org.apache.httpcomponents</groupId>             <artifactId>httpclient</artifactId>         </dependency>         <!-- quartz任务调度框架 -->         <dependency>             <groupId>org.quartz-scheduler</groupId>             <artifactId>quartz</artifactId>         </dependency>         <!-- 单元测试 -->         <dependency>             <groupId>junit</groupId>             <artifactId>junit</artifactId>             <scope>test</scope>         </dependency>         <!-- 日志处理 -->         <dependency>             <groupId>org.slf4j</groupId>             <artifactId>slf4j-log4j12</artifactId>         </dependency>     </dependencies> </project>


pom

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-parent</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <groupId>cn.e3mall</groupId>     <artifactId>e3-manager</artifactId>     <version>0.0.1-SNAPSHOT</version>     <packaging>pom</packaging>     <dependencies>         <dependency>             <groupId>cn.e3mall</groupId>             <artifactId>e3-common</artifactId>             <version>0.0.1-SNAPSHOT</version>         </dependency>     </dependencies> </project>


mavenjar

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <artifactId>e3-manager-pojo</artifactId> </project>


Mavenjar

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <artifactId>e3-manager-dao</artifactId>     <dependencies>         <dependency>             <groupId>cn.e3mall</groupId>             <artifactId>e3-manager-pojo</artifactId>             <version>0.0.1-SNAPSHOT</version>         </dependency>         <!-- 添加对mybatis的依赖 -->         <dependency>             <groupId>org.mybatis</groupId>             <artifactId>mybatis</artifactId>         </dependency>         <dependency>             <groupId>org.mybatis</groupId>             <artifactId>mybatis-spring</artifactId>         </dependency>         <dependency>             <groupId>com.github.miemiedev</groupId>             <artifactId>mybatis-paginator</artifactId>         </dependency>         <dependency>             <groupId>com.github.pagehelper</groupId>             <artifactId>pagehelper</artifactId>         </dependency>         <!-- MySql -->         <dependency>             <groupId>mysql</groupId>             <artifactId>mysql-connector-java</artifactId>         </dependency>         <!-- 连接池 -->         <dependency>             <groupId>com.alibaba</groupId>             <artifactId>druid</artifactId>         </dependency>     </dependencies> </project>


Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <artifactId>e3-manager-interface</artifactId>     <dependencies>         <dependency>             <groupId>cn.e3mall</groupId>             <artifactId>e3-manager-pojo</artifactId>             <version>0.0.1-SNAPSHOT</version>         </dependency>     </dependencies> </project>


打包方式jar

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <artifactId>e3-manager-service</artifactId>     <dependencies>         <dependency>             <groupId>cn.e3mall</groupId>             <artifactId>e3-manager-dao</artifactId>             <version>0.0.1-SNAPSHOT</version>         </dependency>         <dependency>             <groupId>cn.e3mall</groupId>             <artifactId>e3-manager-interface</artifactId>             <version>0.0.1-SNAPSHOT</version>         </dependency>         <!-- spring的依赖 -->         <!-- Spring -->         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-context</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-beans</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-webmvc</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-jdbc</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-aspects</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-jms</artifactId>         </dependency>         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-context-support</artifactId>         </dependency>     </dependencies> </project>

war

Pom

<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>     <parent>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager</artifactId>         <version>0.0.1-SNAPSHOT</version>     </parent>     <artifactId>e3-manager-web</artifactId>     <packaging>war</packaging>     <dependencies>         <dependency>         <groupId>cn.e3mall</groupId>         <artifactId>e3-manager-service</artifactId>         <version>0.0.1-SNAPSHOT</version>         </dependency>         <!-- JSP相关 -->         <dependency>             <groupId>jstl</groupId>             <artifactId>jstl</artifactId>         </dependency>         <dependency>             <groupId>javax.servlet</groupId>             <artifactId>servlet-api</artifactId>             <scope>provided</scope>         </dependency>         <dependency>             <groupId>javax.servlet</groupId>             <artifactId>jsp-api</artifactId>             <scope>provided</scope>         </dependency>     </dependencies> </project>


由于打包方式为warwebappWEB-INFweb.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_2_5.xsd"     id="WebApp_ID" version="2.5">     <display-name>e3-manager-web</display-name>     <welcome-file-list>         <welcome-file>index.jsp</welcome-file>     </welcome-file-list>           </web-app>


添加欢迎页

Index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body>     <h1>hello 宜立方商城</h1> </body> </html>


启动e3-manager

需要在e3-manager pomtomcat

在e3-managerpom

<!-- 配置tomcat插件 -->     <build>         <plugins>             <plugin>                 <groupId>org.apache.tomcat.maven</groupId>                 <artifactId>tomcat7-maven-plugin</artifactId>                 <configuration>                     <port>8080</port>                     <path>/</path>                 </configuration>             </plugin>         </plugins>     </build>

tomcat

先把e3-parente3-common

Ssm

mysql5.5

1mysqle3mall

2e3mall中。

mybatismybatis-generatorpojomapper

pojoe3-manager-pojo

mappere3-manager-dao

1、Dao

MybatisSqlMapConfig.xml

不需要配置任何内容,需要有文件头。文件必须存在。

applicationContext-dao.xml

mybatisspringspring,springSqlSessionFactorymappermybatisspring

2、Service

applicationContext-service.xml

servicespring由spring事务。

3、表现层:

Springmvcspringmvccontroller

Springmvc

SqlMapConfig.xml

<?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>  </configuration>


mybatis

applicationContext-dao.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">      <!-- 数据库连接池 -->     <!-- 加载配置文件 -->     <context:property-placeholder location="classpath:conf/db.properties" />     <!-- 数据库连接池 -->     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"         destroy-method="close">         <property name="url" value="${jdbc.url}" />         <property name="username" value="${jdbc.username}" />         <property name="password" value="${jdbc.password}" />         <property name="driverClassName" value="${jdbc.driver}" />         <property name="maxActive" value="10" />         <property name="minIdle" value="5" />     </bean>     <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">         <!-- 数据库连接池 -->         <property name="dataSource" ref="dataSource" />         <!-- 加载mybatis的全局配置文件 -->         <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />     </bean>     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">         <property name="basePackage" value="cn.e3mall.mapper" />     </bean> </beans>



db.properties

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/e3mall?characterEncoding=utf-8 jdbc.username=root jdbc.password=root

备注:

DruidDBCPC3P0BoneCPProxoolJBoss DataSource

Druid600

Service

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">      <context:component-scan base-package="cn.e3mall.service"/> </beans>


applicationContext-trans.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">     <!-- 事务管理器 -->     <bean id="transactionManager"         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">         <!-- 数据源 -->         <property name="dataSource" ref="dataSource" />     </bean>     <!-- 通知 -->     <tx:advice id="txAdvice" transaction-manager="transactionManager">         <tx:attributes>             <!-- 传播行为 -->             <tx:method name="save*" propagation="REQUIRED" />             <tx:method name="insert*" propagation="REQUIRED" />             <tx:method name="add*" propagation="REQUIRED" />             <tx:method name="create*" propagation="REQUIRED" />             <tx:method name="delete*" propagation="REQUIRED" />             <tx:method name="update*" propagation="REQUIRED" />             <tx:method name="find*" propagation="SUPPORTS" read-only="true" />             <tx:method name="select*" propagation="SUPPORTS" read-only="true" />             <tx:method name="get*" propagation="SUPPORTS" read-only="true" />         </tx:attributes>     </tx:advice>     <!-- 切面 -->     <aop:config>         <aop:advisor advice-ref="txAdvice"             pointcut="execution(* cn.e3mall.service..*.*(..))" />     </aop:config> </beans>


<?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.2.xsd         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">      <context:component-scan base-package="cn.e3mall.controller" />     <mvc:annotation-driven />     <bean         class="org.springframework.web.servlet.view.InternalResourceViewResolver">         <property name="prefix" value="/WEB-INF/jsp/" />         <property name="suffix" value=".jsp" />     </bean> </beans>


<?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_2_5.xsd"     id="WebApp_ID" version="2.5">     <display-name>e3-manager</display-name>     <welcome-file-list>         <welcome-file>index.jsp</welcome-file>     </welcome-file-list>          <!-- 加载spring容器 -->     <context-param>         <param-name>contextConfigLocation</param-name>         <param-value>classpath:spring/applicationContext*.xml</param-value>     </context-param>     <listener>         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>     </listener>          <!-- 解决post乱码 -->     <filter>         <filter-name>CharacterEncodingFilter</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>     </filter>     <filter-mapping>         <filter-name>CharacterEncodingFilter</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping>       <!-- springmvc的前端控制器 -->     <servlet>         <servlet-name>e3-manager</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->         <init-param>             <param-name>contextConfigLocation</param-name>             <param-value>classpath:spring/springmvc.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>         <servlet-name>e3-manager</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping> </web-app>


idjson

由于是单表查询可以使用逆向工程生成的代码。

id

TbItem

id

/**  * 商品管理Service  * <p>Title: ItemServiceImpl</p>  * <p>Description: </p>  * <p>Company: www.itcast.cn</p>   * @version 1.0  */ @Service public class ItemServiceImpl implements ItemService {      @Autowired     private TbItemMapper itemMapper;          @Override     public TbItem getItemById(long id) {         TbItem item = itemMapper.selectByPrimaryKey(id);         return item;     }  }



/**  * 商品管理Controller  * <p>Title: ItemController</p>  * <p>Description: </p>  * <p>Company: www.itcast.cn</p>   * @version 1.0  */ @Controller public class ItemController {      @Autowired     private ItemService itemService;          @RequestMapping("/item/{itemId}")     @ResponseBody     private TbItem getItemById(@PathVariable Long itemId) {         TbItem tbItem = itemService.getItemById(itemId);         return tbItem;     } }

mapper

原因

此异常的原因是由于mappermappermavensrc/main/javamappertarget

解决方法

在e3-manager-daopom

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->

<build>

<resources>

src/main/java</directory>

xml</include>

</build>

Svn

VisualSVNsvn

EclipsesvnEclipse

https://{svn服务ip地址}/svn/{}/

user

user

https://PC-201311301552/svn/e3-javaee25/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!