淘淘商城-day02[框架整合,后台系统搭建]

本文详细介绍了如何进行SSM(Spring、SpringMVC、Mybatis)框架整合,包括数据库配置、Mybatis逆向工程、Dao与Service整合,以及SpringMVC的配置。接着讲解了系统间通信的原理,重点介绍了Dubbo的使用,包括其架构和在项目中的配置。最后,文章提供了整合测试的步骤,并展示了如何搭建Dubbo监控中心,以及商品列表的分页处理和EasyUIResult的json数据格式。
摘要由CSDN通过智能技术生成

学习目录



1.  Ssm框架整合

1.1. 数据库,表导入

数据库使用mysql数据库,要求5.5以上版本。

环境:Vmware12/Centos7/MySQL5.6 115.25.201.30 OS》root/root  mysql》root/root

1、在mysql数据库中>创建数据库taotao 

2、将创建数据库的脚本导入到taotao中,导入后有11个表

1.2. Mybatis逆向工程

使用mybatis官方提供的mybatis-generator生成三种文件:pojo、mapper接口件、映射文件。

pojo文件 》 toatao-manager-pojo 》 /src/main/java  》类com.taobao.pojo

mapper接口文件映射文件》 taotao-manager-dao 》 /src/main/java 》类com.taobao.dao

注意点:重新逆向工程时,需要删除之前逆向生成的文件,否则只是自动追加。

导入 import… >Exitstring projects into workspace  >Copy to 工作空间。

       b.1.  修改generatorConfig.xml  > MySQL信息,IP,用户名,密码。

       b.2.  运行main()程序,刷新项目。

       b.3.  拷贝,生成文件》 相应的文件夹中。

https://github.com/mybatis/mybatis-3   mybatis-3.4.6.zip

https://github.com/mybatis/generator    mybatis-generator-core-1.3.6.zip

最新版本,2018年4月份。

对黑马程序营,老师提供的逆向生成器分析。

新建java project,然后进行操作

①       新建lib文件夹,加入JAR包。

build path>configure build path…>libraries项>add jars..>选择该项目下lib中jar包>导入。

log4j                                   log4j-1.2.16.jar

mybatis                               mybatis-3.2.3.jar

mybatis-generator-core       mybatis-generator-core-1.3.2.jar

MySQL驱动                       mysql-connector-java-5.1.28-bin.jar

Oracel驱动                         ojdbc14.jar

②       配置文件,拷贝即可。

       generatorConfig.xml

       log4j.properties     

③       Main程序,拷贝即可。

       GeneratorSqlmap.java    main()

④       另外四个org.mybatis.generator.plugins包,comment,field,page,rename直接拷贝即可。

整合思路

1、Dao层:

taotao-manager-service/src/main/resources/mybatis 》SqlMapConfig.xml

taotao-manager-service/src/main/resources/properties db.properties

taotao-manager-service/src/main/resources/springapplicationContext-dao.xml

SqlMapConfig.xml也命名mybatis-config.xml

mybatis整合spring,通过spring管理SqlSessionFactory、mapper代理对象。

properties文件编辑,安装插件Find:propertires 》Properties Editor

 

2、Service层:

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

taotao-manager-service/src/main/resources/spring 》applicationContext-service.xml

taotao-manager-service/src/main/resources/spring 》applicationContext-trans.xml

taotao-manager-service/src/main/webapp/WEB-INF》 web.xml 

spring容器,属spring框架,父容器。

 

3、Views层:

taotao-manager-web/src/main/resources/spring 》springmvc.xml

taotao-manager-web/src/main/webapp/WEB-INF 》 web.xml

springmvc框架,由springmvc的DispatcherServlet管理controller。

springmvc容器,属spring框架,子容器


Dao整合

1.    创建SqlMapConfig.xml配置文件  

manager-service>resources > mybatis

<?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.    Spring整合mybatis

创建manager-service > resources >spring

New>other>spring>spring Bean Configuration File> applicationContext-dao.xml

Namespacescontexttxaopp

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

http://www.springframework.org/schema/beans/spring-beans-4.2.xsd>

     <!-- 加载配置文件 -->

     <context:property-placeholder location="classpath:properties/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="com.taotao.mapper" />

     </bean>

</beans>

db.properties   manager-service> resources > properties

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8

jdbc.username=root

jdbc.password=root

备注:

Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。

Druid已经在阿里巴巴部署了超过600个应用,经过多年多生产环境大规模部署的严苛考验。

 

Service整合

1.    管理Service

applicationContext-service.xml     manager-service > resources > spring

Namespacecontextpaoptx

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

http://www.springframework.org/schema/util/spring-util-4.2.xsd">

 

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

</beans>

2.    事务管理

applicationContext-trans.xml  manager-service > resources > spring

NameSpace context p aop tx

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

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" />

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值