2.SSM框架的整合
2.1数据库
这里使用的数据库是MySql数据库,个人要求要在5.5版本以上。
1. 居然是一个ssm框架的整合顾名思义我们要创建一个数据库名字自定义
2.把之前写好的数据库脚本导入数据库中
2.2.MyBatis逆向工程
MyBatis逆向工程是由MyBatis官方提供的她生成的是pojo以及mapper接口及一些映射文件(这里非常重要,公司常常再用)最后是把pojo接口及映射文件到Xxx-manager-dao层里去
2.3.思路的整合
1.Dao层:
你要清楚一点Dao层是整合spring的,spring相当于一个管理者。进来的请求都要经过她。通过spring的管理来管理SqlSessionFactory以及一些mapper的映射文件。当然,jar包方面是要一个spring和mybatis的整合包。着重强调一点spring是做业务逻辑的也就是服务层是要掉用服务层的,那么springMVC相当于只需要控制表现层的一些数据交互就行
2.service层:
把所有的service实现类都放到spring容器中进行管理,这样就可以由spring创建连接池,并由spring进行事务管理。
3.表现层:
springMvc进行管理Controller。
2.4.Dao层:
2.4.1.第一步配置文件的创建名字为SqlMapConfig.xml
2.4.2让Spring整合myBatis
创建一个命名为applicationContext-dao.xml配置文件
接着创建数据包db.propertis(用户名和密码是你本人安装时的用户名和密码)
2.5.Service进行整合
2.5.1.Service管理
2.5.2事务进行管理
创建applicationContext-teans.xml
1.首先要有一个事务管理其中包括了数据源
2.有一个通知进行加强其中包括了传播行为
3.面向切面
2.5.3.Web.xml
1.spring容器的加载
2.解决post乱码
3.spingMvc的前端控制器
2.7.系统通信
我之前说过系统之间操作都是需要远程操作那么当你需要增加功能时也就要调用其接口,这无疑会增加工作量。
2.7.1.系统分析
这个电商商城时基于soa架构的,也就是表现层和服务层时不同的工程。也就说你要想实现商品的查询,那么这两个系统也就需要两个系统之间的通信
想明白我们时如何实现通信的?
1.我这里用的时Dubbo,用的时一种rpc协议同时进行远程调用,使用的是socket通信。目的是传输效率高,还可以统计之间的调用关系及次数
2.7.2.普及一下什么是dubbo
我们知道互联网的快速发展,也就规模也就不断扩大,我们所知道的一些架构已经无法满足:比如分布式,垂直应用型架构还有一个是流动计算架构。
接下来给大家一个图解
2.7.3四种架构讲解
1.单一应用型架构
//说白就是流动量非常的小,就一个应用,功能的部署全绑在一起减少部署节点的成本。
2.垂直应用架构
//当访问量逐渐增大时,单一应用增加时她的加速度就睡减小,也就把应用增加为几个不相干的应用,便于提高效率。
3.分布式架构
//由垂直分布式增加时,应用的加大导致应用之间就会相交互,我们就会想着把核心业务单独拿出来,作的为独立服务,这样前端页面功能等也就更快发生响应
以满足多变的市场需求。
4.流动计算架构
//当你无法估量访问量时以及当服务越来越多时,那容量的估算,哪些小服务的浪费就会显而易见,那你就需要增加调度中心管理她的集群容量,为的是能够增加他的利用率。
2.7.4我们来看下Dubbo的架构
具体作用有兴趣的小伙伴可以给我留言,这里就不强讲。
2.7.5具体使用的方法
Dubbo 是一个采用Spring方式进行配置的,非常透明化的与应用进行接触,对应用没有任何的API入侵,其中只需要Spring加载Dubbo配置即可。
2.7.6.注册中心
相当于一个目录服务器,给消费者和提供者只在启动时进行注册中心交互,由于注册中心不转发请求。压力也就会小。这里我建议用Zookeeper,他是Aapache Hadoop下面的子项目。好处在于工业强度高,可用于生产环境。
简单介绍下Zookkeeper安装步骤:
第一步:安装jdk
第二步:解压缩zookeeper压缩包
第三步:将conf文件夹下zoo_sample.cfg复制一份,改名为zoo.cfg
第四步:修改配置dataDir属性,指定一个真实目录
第五步:
启动zookeeper:bin/zkServer.sh start
关闭zookeeper:bin/zkServer.sh stop
查看zookeeper状态:bin/zkServer.sh status