1,将单一的java web项目 拆分成 公共接口API 数据交互层service, 访问层web
2,zookeeper dubbo 分布式环境:zookeeper 3台,一般是将项目中的不同业务 拆分成多个service ,然后拆分的service 可以放置多台机器,做灾备
3,zookeeper 启动 命令行启动方式:
直接回车 就启动 了,验证启动结果
zookeeper 启动完成.如果是要启动4台 5台 以至于更多的zookeeper 直接复制其中一份service 然后修改service下的data目录下的myid文件 直接修改里面的数字即可,如果是第四台 那么改为4
4,项目拆分【API】
4.1 将所有的service 层方法抽取成接口,工具类,总之API 放置的都是一些公共的东西, 然后将项目打成Jar包,供 service项目 和web项目使用
5,项目拆分【Service 】
5.1 这一层主要就是 和数据库交互。下面是我的项目结构
5.2 先看下dubbo_service-lqg.properties 文件
5.3 再来看看dubbo.xml 文件
这段不用解释了,就是使用spring 的配置文件加载类 加载文件 然后通过表达式 使用
接着往下
接着使用ant 运行bulid 文件
--------------------------bulid.xml-------------------
<?xml version="1.0"?>
<!-- ======================================================================= -->
<!-- Service LQGService build file -->
<!-- Add by HeYiTang -->
<!-- ======================================================================= -->
<project name="LQGService" default="" basedir=".">
<!--不需要修改-->
<property name="src.dir" value="${basedir}\src" />
<!--不需要修改-->
<property name="lib.dir" value="${basedir}\lib" />
<!--不需要修改-->
<property name="build.dir" value="${basedir}\build" />
<!--不需要修改-->
<property name="build.classes.dir" value="${build.dir}\classes" />
<!--不需要修改-->
<property name="conf.dir" value="${basedir}\conf" />
<!--不需要修改-->
<property name="conf.diro" value="${basedir}\conf\mapping" />
<!--不需要修改-->
<property name="bin.dir" value="${basedir}\bin" />
<!--project.dir.name 项目名字,这个要根据实际情况修改-->
<property name="project.dir.name" value="LQGService" />
<!--des.disk.dir 项目打包目录,这个要根据实际情况修改-->
<property name="des.disk.dir" value="D:\\packageDIR\${project.dir.name}" />
<!--不需要修改-->
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>
<!--不需要修改-->
<target name="clean">
<delete dir="${build.classes.dir}" />
<delete dir="${des.disk.dir}\bin" />
<delete dir="${des.disk.dir}\conf" />
<delete dir="${des.disk.dir}\lib" />
<delete dir="${des.disk.dir}\conf\mapping" />
</target>
<!--不需要修改-->
<target name="prepare" depends="clean">
<mkdir dir="${build.classes.dir}" />
<mkdir dir="${des.disk.dir}\bin" />
<mkdir dir="${des.disk.dir}\conf" />
<mkdir dir="${des.disk.dir}\lib" />
<mkdir dir="${des.disk.dir}\conf\mapping" />
</target>
<!--不需要修改-->
<target name="compile" description="compile operation" depends="prepare">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" includeAntRuntime="false" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>
<target name="jarLQGService" depends="compile" description="jar LQGService">
<!--复制conf目录下的所有文件到 项目名/ build/classes目录下面-->
<copy todir="${build.classes.dir}">
<fileset dir="${conf.dir}">
<include name="*.*" />
</fileset>
</copy>
<!--打成jar文件且放到 项目名/lib目录目录下面-->
<jar jarfile="${lib.dir}\${project.dir.name}.jar">
<fileset dir="${build.classes.dir}">
<include name="com/wtjr/**/*" />
<include name="log4j.xml" />
<include name="log4j.dtd" />
<include name="dubbo_service_lqg.properties" />
<include name="applicationContext-lqg-service.xml" />
<include name="applicationContext-spring-mvc.xml" />
<include name="applicationContext-spring-mybatis.xml" />
<include name="application.properties" />
<include name="jdbc.properties" />
<include name="mybatis-config.xml" />
</fileset>
<fileset dir="${conf.dir}">
<include name="mapping/*" />
</fileset>
<metainf file="${src.dir}\META-INF\MANIFEST.MF"/>
</jar>
<!--复制 项目名/bin 目录目录下面的所有文件到 打包${des.disk.dir}\bin目录下面-->
<copy todir="${des.disk.dir}\bin">
<fileset dir="${bin.dir}">
<include name="*.*" />
</fileset>
</copy>
<!--复制 项目名/conf 目录目录下面的所有文件到 打包${des.disk.dir}\conf目录下面-->
<copy todir="${des.disk.dir}\conf">
<fileset dir="${conf.dir}">
<include name="*.*" />
<!--<exclude name="applicationContext-lqg-client.xml" />
-->
</fileset>
</copy>
<!--复制 项目名/conf/mapping 目录目录下面的所有文件到 打包${des.disk.dir}\conf目录下面-->
<copy todir="${des.disk.dir}\conf\mapping">
<fileset dir="${conf.diro}">
<include name="*.*" />
<!--<exclude name="applicationContext-lqg-client.xml" />
-->
</fileset>
</copy>
<!--复制 项目名/lib 目录目录下面的所有文件到 打包${des.disk.dir}\lib目录下面-->
<copy todir="${des.disk.dir}\lib">
<fileset dir="${lib.dir}">
<include name="*.*" />
</fileset>
</copy>
</target>
</project>
----------------------------bulid.xml end---------------------
执行完Bulid.xml 后 会在相应的目录下 看到生成后的项目,直接运行bin 目录下的start.cmd ,linux 系统下 运行.sh 文件
6. 项目拆分【web】
项目结构
applicationContext.XML 文件