springMVC+mybatis+dubbo实现SOA架构(1)

今天是2016年2月24日(今日重写,已是3月4号了),距离完成上一个项目已经过去两个多月。去年11月份,开始接手java开发项目,之前做过一点东西,但那是两三年之前的事情了,很多函数也已经不记得了,接手该项目是对自己的一个考验吧。

环境配置

如题,该SOA架构基于dubbo、spring以及mybatis框架,dubbo框架需要zookeeper的支持,因此我们首先需要下载并安装依赖工具:jdkmavenzookeepertomcat(非必须,可以用jetty)以及IDE(eclipse或者IDEA)

安装java环境

在oracle官网下载jdk,这一步我在这里不做仔细的解说,想必,搞java的童鞋都会搭建基本的java开发环境。

下载并安装maven环境

maven是什么,请看官方的解释:

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

维基百科对maven的解释:

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。

现在,了解了maven为何物之后,需要下载一个安装包,目前最新稳定版本是3.3.9,国内建议选择清华大学的镜像下载,如下图所示。

下载完之后,解压到你的软件盘(由于笔者以前安装过,此处再不下载安装,笔者的版本可能小于当前最新版本),在当前目录的bin目录下打开命令窗口(windows快捷方式是按住shift,右击,在弹出菜单中选择“在此处打开命令窗口”),选中打开cmd窗口,如下图所示:

输入mvn -version,回车即可看到maven的版本信息。

PS:笔者之前安装的是3.3.3的版本,此处看到的是3,3,3,如果你下载的是3.3.9,那么你应该看到的是3.3.9,至此,maven安装成功了,但是,我们希望全局可用,而不是这么麻烦的进入到maven安装文件的根目录,那么需要配置一下环境变量。

和jdk配置环境变量一样,MAVEN_HOME=${你的安装maven的绝对路径},如下图:

然后在path中添加:%MAVEN_HOME%/bin即可。在电脑的任意地方打开cmd命令窗口(快捷键 win + R),输入mvn -version,回车即可看到maven的版本信息,同时也看到了jdk的信息。

PS:如果没有安装jdk,mvn这条命令执行时会报错的,所以,安装maven之前必须先安装jdk。

下载并安装zookeeper

zookeeper是什么?Apache zookeeper官方给出的解释:

ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.

wiki的说明:

Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。[需要解释] ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。
ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非常类似于一个文件系统或一个前缀树结构。客户端可以在节点读写,从而以这种方式拥有一个共享的配置服务。更新是全序的。[1]
使用ZooKeeper的公司包括Rackspace、雅虎[2]和eBay,以及类似于象Solr这样的开源企业级搜索系统。[3]

下载zookeeper,稳定版3.4.8,最新版3.5.1,解压后,进入到conf目录,复制一份zoo_sample.conf,改名为zoo.conf,用无格式编辑器(比如sublime text、notepad等)打开,修改dataDir=/tmp/zookeeper为你的zookeeper数据存放路径,比如笔者的为D:/software/zookeeperData/zookeeper,修改为dataDir=D:/software/zookeeperData/zookeeper,保存即可,如果要配置zk集群,还需要其他配置,暂时不说集群这一块,后面涉及到了再说。

ps: zookeeper国内下载镜像地址:http://mirrors.hust.edu.cn/apache/zookeeper/

安装mysql

可以单独安装,下载mysql,网上教程一大堆,也可以下载wamp或者studyphp等PHP开发相关的继承工具,由于笔者同时开发PHP,所以,没有单独安装mysql。但是不管那种方式,mysql的版本建议≥5.6。

安装tomcat

建议下载与jdk对应的版本,比如jdk为1.7,请安装tomcat7,如果jdk是1.8,建议下载tomcat8。

dubbo-admin.war

这个war包是阿里dubbo团队开发的一个可视化操作dubbo的后台管理服务,可是查看机器,提供者,消费者,以及手动配置负载权重等。将次包下载后,放在tomcat的webapps目录下,如果你的tomcat和zookeeper不是同一台服务器,需要修改war包下的配置文件,将地址指向zookeeper的服务地址,端口是zookeeper的端口,默认2181。

maven配置

maven的配置,网上有很多,仓库中心如果公司内部有,可以指定到公司内部的maven repository,如果公司没有搭建,建议在选用开源中国的,或者,下载包的时候,能够完全下载的,国外的部分maven仓库因墙的问题,访问很吃力,建议多了解一下。


时间: 2024-09-17 04:32:38

springMVC+mybatis+dubbo实现SOA架构(1)的相关文章

J2EE分布式架构 dubbo+springmvc+mybatis+ehcache+redis分布式架构

平台简介         Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台.         Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.FastDFS分布式文件系统.ActiveMQ异步消息中间件.Nginx负载均衡等分布式技术         使用Maven做项目管理,项目模块化,提高项目的易开发性.扩展性         以Spring Framework为核心容器,Spring

mybatis-求教!为什么用hessian找不到服务器的接口类?项目架构用的SpringMVC+Mybatis

问题描述 求教!为什么用hessian找不到服务器的接口类?项目架构用的SpringMVC+Mybatis 求教!为什么用hessian找不到服务器的接口类?项目架构用的SpringMVC+Mybatis

其无前例的springmvc+mybatis后台漂亮框架源代码

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 内置功能 1.     用户管理:用户是系统操作者,该功能主要完成系统用户配置. 2.     组织管理:配置系统组织机构(公司.部门.小组),管理其中角色,配置访问权限 3.     菜单管理:树结构展现,配置系统菜单图标个性化等,配置按钮权限标识等. 4.     字典管理:分为系统字典和数据字典,系统字典对系统一些重要字段进行维护,数据字典对系统中经常使用

springmvc+mybatis整合 MapperScannerConfigurer配置出错

问题描述 springmvc+mybatis整合 MapperScannerConfigurer配置出错 1C 配置如下: 问题:如果配置了 <property name=""sqlSessionFactoryBeanName"" value=""wechatSqlSessionFactory"" />,启动的时候报错如下:Caused by: org.springframework.beans.factory.B

基于SOA架构采用Extjs展现的权限系统之总体设计探讨

上一篇文章说过,系统由数据层,业务层,服务层,数据契约层,WCF代理层 ,ExtJs代理层,展现层组成.现在我们一起探讨这些层之间的作用. 众所周知,主流的三层结构由数据库,业务层与展现层组成.我认为:SOA架构 在三层的基础上添加服务层,数据契约层,WCF代理层. 现在一起探讨一 下各层之间的作用吧! 数据层:用于与数据库交互的层.提供简洁实用 的数据库访问方法,如:添加,删除,更新,查找等等.我这里的数据层采用 Linq技术,由Linq自动生成数据访问层,节省了不少开发时间哦. 业务 层:用

IDEA开发JavaWeb(SpringMVC+MyBatis)项目报错。

问题描述 IDEA开发JavaWeb(SpringMVC+MyBatis)项目报错. 刚开始JavaWeb的开发,用了SpringMVC+Mybatis的结构,按着教程来的,但是运行欢迎页能看到,但是报了Injection of resource dependencies failed.错误,Dao没找到.这是工程的结构.这是applicationContext.xml的配置. <?xml version=""1.0"" encoding="&quo

spring mvc-关于springmvc+mybatis 注入问题

问题描述 关于springmvc+mybatis 注入问题 service: package com.yhq.service.biz;import com.yhq.service.po.User;public interface UserBiz { void insert(User u);} impl: package com.yhq.service.impl;import org.springframework.beans.factory.annotation.Autowired;import

springmvc mybatis集成配置示例_java

简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求.闲暇时间把项目配置文件共享出来,供大家参看: 1.首先我们来看下依赖的pom: <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.ve

springmvc+mybatis整合

问题描述 springmvc+mybatis整合 spring-servlet.xml <beans:bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <beans:property name="driverClassName" value="org.postgresql.Driver"/> <beans