10.服务治理-Eureka-搭建项目整体结构
创建新项目
1.创建foodie-cloud项目
2.创建commom的文件夹----常用/通用工具类
3.创建platform文件夹----放置注册中心、配置中心的平台组件
3.创建domain文件夹----放置微服务
foodie-dev项目修改
1.foodie-cloud修改
<packaging>pom</packaging>
2.将foodie-dev中依赖拷贝到foodie-cloud下面的pom
从<parent>开始copy
3.删除<parent>
<parent>标签:
个人使用:非常的方便的搭建起自己的应用
企业级:一般是继承自公司的母版,BAT:有一些规范,具体细则就体现在父类的POM中
如:指定允许引入的依赖版本、强制代码检查的组件
4.<parent>的依赖项,添加<dependencyManagement>
利用<dependencyManagement>把依赖项的版本控制引入进来,dependencyManagement制定了一个母版,如果子项目需要用到这个依赖,那么子项目不需要指定版本
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
5.清理dependencies
a.去除spring-boot-starter依赖
只有在真正启动web项目点的时候才需要,如果放在这边的话,model会多引入这个依赖,我们微服务会剥离一个接口层,提供给其他微服务/第三方调用,所以用到什么就加载什么(公共的,大家都要用到的)
b.mysql相关
只有在dao层才需要
c.保留公共组件(apache以下)
d.添加喜欢的组件lombok
e.添加</build>节点,添加编译器插件,即指定编译的版本
6.创建foodie-cloud-common
作用:公共包和依赖的组件
MyMapper.java是公共类?
公共类是怎么划分的?
7.将删除的依赖copy到foodie-cloud-common的pom 的<dependencies>
创建foodie-cloud-shared-pojo的moudle。很纯净?
1.创建foodie-cloud-shared-pojo(最终会被引入到接口层)
2.创建几个固定的子包enums、pojo、service