分布式电商项目(02)--后台管理系统SSM框架整合

前言:上一篇博客讲了此次分布式电商项目后台管理系统的工程的搭建,这一篇就讲一下SSM框架的整合

1.整合思路

下面说到的配置文件都需要放到manager-web工程下,因为此工程为war工程,而其它的工程都只是一个jar包,具体如下图所示

1.1 DAO层

mybatis整合spring,通过spring管理SqlSessionFactory、mapper代理对象。需要mybatis和spring的整合包。


整合内容


对应工程


Pojo


mangaer-pojo


Mapper映射文件


mangaer-mapper


Mapper接口


mangaer-mapper


sqlmapConfig.xml


manager-web


applicationContext-dao.xml


manager-web

1.2 service层

所有的实现类都放到spring容器中管理。由spring创建数据库连接池,并由spring管理事务。


整合内容


对应工程


Service接口及实现类


mangaer-service


applicationContext-service.xml


manager-web


applicationContext-trans.xml


manager-web

1.3表现层

Springmvc整合spring框架,由springmvc管理controller。


整合内容


对应工程


springmvc.xml


manager-web


Controller


manager-web

2. DAO层整合

2.1 创建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>

2.2 Spring整合Mybatis

创建applicationContext-dao.xml文件,该文件的配置内容主要包含数据源的配置、让spring管理SqlsessionFactory、把mapper代理对象放到spring容器中,具体的配置如下:

<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.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    <!-- 数据库连接池 -->
    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:properties/*.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="com.taotao.mapper" />
    </bean>
</beans>

创建jdbc.properties文件,该文件是用来连接数据库的配置文件,其中的文件内容主要有,数据库的名字连接信息等!

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

3.Service层整合

3.1 管理service实现类

创建applicationContext-service.xml文件,管理service实现类,将其放入spring容器中,具体配置如下:

<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.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

        <context:component-scan base-package="com.taotao.service"/>

</beans>

3.2 事务管理

创建applicationContext-trans.xml文件,具体配置如下:

<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.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.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(* com.taotao.service.*.*(..))" />
    </aop:config>
</beans>

4.表现层整合

4.1 创建springmvc.xml文件

srping-mvc.xml 为 SpringMVC 核心配置文件,主要包括 Controller 层的包扫描、视图模式配置(跳转路径的前后缀)、文件上传配置、静态资源处理等

<?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.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.taotao.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>

4.2 修改web.xml文件

web.xml 文件是创建 Web 项目所需要的配置文件,其主要用来初始化配置信息,主要包含拦截器、过滤器、servlet 等的配置,它的位置在项目 WEB-INF 目录下。打开web.xml文件,添加如下内容

<!-- 加载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>
        <!-- <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param> -->
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- springmvc的前端控制器 -->
    <servlet>
        <servlet-name>taotao-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>taotao-manager</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

5. 修改pom文件

打开聚合工程下的mapper工程的pom.xml文件,并在该文件中添加一下内容

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

至此,后台管理系统的SSM框架的整合的配置文件的编写也就完成了~~~

原文地址:https://www.cnblogs.com/Cryptonym/p/9941870.html

时间: 2024-10-13 18:32:29

分布式电商项目(02)--后台管理系统SSM框架整合的相关文章

分布式电商项目(03)--后台管理系统整合测试

前言:前面的博客讲到了后台管理系统的工程搭建以及SSM框架的整合,这篇就讲一下后台管理系统的整合测试 1.逆向工程生成代码 1.1 什么是逆向工程 简单点说,就是通过数据库中的单表,自动生成java代码. Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码 1.2 逆向工程以及项目sql下载 链接   提取码:zaez 1.3 修改配置文件 下载好逆向工程之后,将其作为一个新工程导入,然后找到工程下的generatorConfig.xml文件,按照文件中的注释以及实际情况修

36套精品Java高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,大型分布式电商项目实战视频教程

新年伊始,学习要趁早,点滴记录,学习就是进步! QQ:1225462853 视频课程包含: 36套Java精品高级课架构课包含:java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,架构设计,web安全,高并发,高性能,高可用,高可扩展,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,工作流,程序调优,负载均衡,Solr集群与应用,主从复制,中间件,全文检索,Spring boot,Spring cloud,Dubbo,Elasticsearch,Redis,ActiveMQ

16套java架构师,高并发,高可用,高性能,集群,大型分布式电商项目实战视频教程

16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志分析,工作流,Jvm,Dubbo ,Spring boot,Spring cloud, Redis,ActiveMQ,Nginx,Mycat,Netty,Jvm,Mecached,Nosql,Spring,大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:架构师,高并发,分布式,集群,高可用,高可扩展,高性能,设计模式,数据结构算法,虚拟机,微服务架构,日志分析,

传智播客大型分布式电商项目-淘淘商城

课程目录及下载地址01.第一天(项目介绍,搭建maven工程)02.第二天(框架整合,后台系统搭建)03.第三天(实现商品添加)04.第四天(商品规格实现)05.第五天(前台工程搭建.首页商品类目显示)06.第六天(CMS系统)07.第七天(redis缓存)08.第八天(solr服务器搭建.搜索功能实现)09.第九天(商品详情页面实现)10.第十天(单点登录系统实现)11.第十一天(购物车+订单)12.第十二天(系统架构讲解.nginx)13.第十三天(生产环境搭建.系统部署)14.第十四天(项

Maven+CMS+Redis+Solr+Linux+Nginx+Springmvc+Mybatis+单点登录,大型分布(传智播客大型分布式电商项目-淘淘商城)

课程目录及下载地址01.第一天(项目介绍,搭建maven工程)02.第二天(框架整合,后台系统搭建)03.第三天(实现商品添加)04.第四天(商品规格实现)05.第五天(前台工程搭建.首页商品类目显示)06.第六天(CMS系统)07.第七天(redis缓存)08.第八天(solr服务器搭建.搜索功能实现)09.第九天(商品详情页面实现)10.第十天(单点登录系统实现)11.第十一天(购物车+订单)12.第十二天(系统架构讲解.nginx)13.第十三天(生产环境搭建.系统部署)14.第十四天(项

企业级JAVA大型分布式电商项目实战高并发集群分布式系统架构

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. "高可用性"(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性. 一. 设计理念 空间换时间 多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回bo

分布式电商项目(04)--商品列表查询及分页

前言:前面写了后天管理系统工程搭建以及框架的整合测试,今天写一下商品列表的分页查询 1 需求分析 前台使用easyui的分页工具,后台则使用mybatis分页插件pagehelper 如上图所示,打开后台首页,点击查询商品,按下F12,可以看到easyui的分页界面会向controller发送两个数据page:1,rows:30 controller通过service层以及dao层查询到数据之后也需要将数据封装成easyui需要的格式,而easyui需要的数据格式如下 { total:"2&qu

大型分布式电商项目---品优购

概述 这是一个综合性的B2B2C平台,类似京东商城.天猫商城.网站采用商家入驻的模式.该项目采用Spring+SpirngMVC+Mybatis框架搭建的maven工程,并采用分布式架构按功能将系统分为不同的子系统,将不同的子系统部署到不同的节点服务器独立运行.在各个系统之间采用dubbox+zookeeper进行通信,实现了基于SOA面向服务的架构,使得服务层与表现层分离,此项目为本人学习项目,为传智播客,最后一个商城实战项目,前前后后花了2个月左右,后面几天的内容暂时没做,因为电脑吃不消,完

构建SpringBoot,SpringCloud微服务架构分布式电商项目实战

Spring Cloud 微服务总体架构图 上面图中技术名词理解: 1.Sleuth-链路跟踪 为服务之间调用提供链路追踪.通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长.从而让我们可以很方便的理清各微服务间的调用关系. 2.断路器(Hystrix) 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务通常会集群