springboot聚合项目+mybatis+dubbo+zookeeper+maven项目环境搭建

   搭建项目环境,是一个程序员学习的必经之路。没有项目环境,如何开始快乐的编码呢?

注:本笔记使用IDE开发工具

环境整合: springboot+mybatis+dubbo+zookeeper+maven+git  & 最后项目打包启动

第一步: 创建主工程

    1.1:   file -> new -> project 

选择maven项目进入下一步。填写groupId,artifactId。点击下一步填写主工程名称。finish.

主工程建立之后,目录结构如下。

  1.2: 因为主工程只是作为一个项目的壳,没有实际代码,所以将src目录删掉 

第二步: 子模块的创建

  2.1:web子模块的创建。 

      点击项目右键,新建模块。

选择springboot创建方式

 填写信息进入下一步

 勾选需要的jar包,看情况而定。这边是web项目,勾了一个web包

 

点击下一步下一步完成创建。 

web模块目录如下

创建完web之后,刷新maven。发现没有体现是子模块。 

查看主工程pom文件,添加子模块配置 ,修改完之后maven显示hope为根项目,就是主工程

接着查看web模块pom文件,发现默认的父依赖是springboot,修改成hope

 修改完之后发现报错,找不到下面那两个依赖的jar包了。因为修改之后的父工程没有这两个jar包的版本信息。

先回退回去。按ctrl+鼠标左键点击父依赖spring-boot-starter-parent跳转到父依赖的pom文件查看版本属性。没有找到,继续点击父依赖的父依赖,然后发现了版本号,复制过来

最后修改完pom文件如下,刷新maven

接下来打包一下主工程看能不能正常,发现报错,报错信息如下:

报错信息提示,要是用pom的打包方式,修改主工程的pom,修改完之后重新打包,成功。

接下来看web模块能否正常使用。先配置web端口号。默认的spring配置文件是properties文件格式,修改成yml的树状格式。不改也行,看个人喜好。

配置好web端口。新建一个controller看是否能够接受请求 

 启动web项目。在浏览器输入地址,访问正常

额外补充: 不使用IDE,测试下服务器的部署方式

将打好的包复制出来

打开命令行使用java -jar运行发现报错

打开jar包发现,这是普通的依赖用的jar包,不是可执行jar包, mainfest中也没有主类信息

打包方式有问题, 网上查找资料之后,在web模块的pom中的构建配置中加入如下代码

刷新maven重新打包。发现这次生成了两个jar包

original版本的同上面那种打包方式,生成的是用于依赖的,不可执行的jar包。将新的jar包复制出来打开看看。发现目录结构发现变化

找到mainfest文件,配置信息也不一样了。

重新使用命令行启动。成功

浏览器访问正常

web模块搭建完毕

 

2.2: service模块的搭建

 service模块创建同web。这边数据库跟框架是使用了postgresql跟mybatis,所以选了这两个依赖

创建完service。同web模块一样,修改service模块的父依赖。其它依赖的版本问题同web的处理方式,到父依赖pom文件查看使用的版本。然后主工程的module配置增加service模块。

接着修改application文件的后缀为yml。加上数据库配置(数据库相应信息自己配置,这个笔记这边不写如何搞数据库,后续有研究再写)

因为mybatis的sql都是放在xml文件中管理的。所以还要配置mybatis的sql文件扫描路径,它才能知道取哪里寻找对应的sql语句。(特别注意mapper-locations的配置,如果配置错误了,执行sql的时候会找不到对应的sql语句。classpath*后面不要空格)

在resource下面建立相应的目录

最后配置一下service模块的端口号。

接下来写个类来测试一下数据库查询。服务类如下

 sql文件如下

测试类如下

执行测试类后,成功查询到数据

 到此service模块建立完毕。在创建的过程中遇到问题修改配置做了蛮多改动,比较容易忘记自己改了什么。所以接下来先讲如何讲项目传到github上。

第三步:将项目上传到github中

打开项目目录,右键创建git仓库

创建完仓库之后,在IDE中就可以看到git的选项。 

 

 点击项目右键,将文件添加到git管理,然后点击提交目录。commit之后是存在了本地的仓库。点击push,提交到远程仓库

因为还没有定义远程仓库,所以点击配置下远程仓库地址.

仓库地址自己去github登陆创建

 

 建好仓库之后回到IDE配置远程仓库地址。push项目。在github上面可以看到自己的提交记录,提交成功。在IDE的git中可以看到远程仓库的名称

git代码提交完毕。接下来继续完善项目。创建api模块

第四步:创建api模块

api模块主要用于存放接口声明跟实体vo,建简单的maven模块就行。

 

api目录结构如下

 将web模块跟service模块添加api模块的依赖。接下来创建测试类

在controller中使用接口调用服务。

service项目一运行就马上结束了,所以加上这句代码让线程处理等待状态

 

这时启动web服务会报错。因为这边是使用web,service模块分离的方式。 所以web依赖注入服务的时候无法找到服务。接下来我们要整合进dubbo+zookeeper,用于web调用远程的service模块。

 

第五步: 整合zookeeper跟dubbo

zookeeper软件请自行下载,下载之后启动zookeeper服务。

然后为web模块,service模块添加dubbo与zookeeper依赖

 为service模块创建dubbo配置文件。并在启动类中加载该配置文件。

 service模块提供服务注册到zookeeper当中。

接下来为web模块创建dubbo配置文件,并在启动类当中引入配置文件

 web模块引用zookeeper的服务。

然后启动service模块。再启动web模块,启动成功,日志会打印出zookeeper的配置信息

浏览器调用请求,成功调到service服务

简单的springboot分布式项目搭建完成。

ps:在引入zookeeper和dubbo的依赖的时候,出现了一些jar包依赖冲突的问题,比如日志打印不出来,启动显示日志类冲突等。安装IDE的maven helper插件可以比较直观的看到是什么jar包冲突,并尝试排除冲突jar包来看是否能够正常启动。

 

有错误的地方欢迎指正。

欢迎关注我的公众号,不定期分享java文章,一起学习进步。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值