Java Spring Cloud 实战之路 - 1 创建项目
0. 前言
该项目使用Maven进行管理和构建,所以需要预先配置好Maven。嗯,在这个系列里就不做过多的介绍了。
1. 创建项目
先创建一个pom.xml 文件,添加以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>club.attachie</groupId>
<artifactId>nature</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>
</project>
POM 全称 project object model,也就是项目对象模型,它是maven项目的标注文件,采用XML格式,名称就是pom.xml。这个文件用于管理源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目地址和依赖关系。
pom文件对于maven项目重要到,一个maven项目可以没有其他的任何文件和内容,但绝对不能没有pom.xml文件。
1.1 项目信息
pom文件中包含了项目的基本信息:
- groupId 组织名称
- artifactId 项目名称
- version 版本号
1.2 使用占位符
在pom中我们会使用很多项目的版本号,有时候还会使用一些其他的常量。如果常量分布的比较零散,这样就不利于我们的维护和管理。这时候就要引入占位符或者叫属性。我们将需要的常量声明在properties节点内:
<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>
这种形式类似于 声明了一个变量
revision=1.0-SNAPSHOT
在需要这个变量的时候,通过${revision}使用即可。
2. 项目结构分层
在一个工业级的项目里,我们需要对项目进行一个合理的分层。这样有利于开发和后期维护。
那么,先在根目录下添加这三个目录:
- common 用来存放一些公共包
- activities 业务模块所在的父包
- manager 用来存放一些Spring Cloud的一些管理工具,例如Spring boot admin、Spring Cloud Gateway等
分别在三个目录下添加 pom.xml文件,添加:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>club.attachie</groupId>
<artifactId>各自的项目名称,建议是目录名</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<parent>
<groupId>club.attachie</groupId>
<artifactId>nature</artifactId>
<version>${revision}</version>
</parent>
</project>
并修改各自的artifactId。
然后注册到根目录的pom.xml,标记这三个项目为子项目。
<modules>
<module>common</module>
<module>activities</module>
<module>manager</module>
</modules>
然后运行:
mvn clean install
检查一下配置是否有误。
3. 引入公共依赖
Spring boot和Spring Cloud建立了对应的依赖包,可以让我们在开发过程中不用过多的担心一些常见项目与Spring boot和Spring Cloud的版本冲突问题。
先在根目录下的pom.xml文件中声明引入的 Spring boot版本号和Spring Cloud版本号:
<spring-boot.version>2.2.5.RELEASE</spring-boot.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
创建依赖管理节点,并添加 Spring boot 和Spring Cloud依赖包:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在子包中需要用到的三方包,理应都由根目录下的pom.xml进行管理,而管理的包都会放在dependencyManagement >> dependencies 节点下。
在项目中使用依赖,在pom.xml文件的project节点下添加如下节点,如果已有可以忽略,注意不是dependencyManagement下的。
<dependencies>
</dependencies>
试着添加lombok包(这个包是一个Java中很著名的包,可以省略Java中的get/set等方法的创建)。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
之所以没有声明版本号,是因为这个包已经由 spring-boot-dependencies 进行管理了。所以我们直接在这里引入即可。
4. 总结
现在,我们搭建起了一个项目架子,里面空荡荡的什么都没有,但这样就形成了一个骨架,后期将为这个骨架丰富血肉,让它的功能更加强大。
更多内容烦请关注我的博客《高先生小屋》

Java Spring Cloud 实战之路 - 1 创建项目的更多相关文章
- 【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
0. 前言 在上一节中,我们创建了一个项目架构,后续的项目都会在那个架构上做补充. 1. Nacos 1.1 简介 Nacos可以用来发现.配置和管理微服务.提供了一组简单易用的特性集,可以快速实现动 ...
- 【Java Spring Cloud 实战之路】添加一个SpringBootAdmin监控
0. 前言 在之前的几章中,我们先搭建了一个项目骨架,又搭建了一个使用nacos的gateway网关项目,网关项目中并没有配置太多的东西.现在我们就接着搭建在Spring Cloud 微服务中另一个重 ...
- 3.开始使用Spring Cloud实战微服务
开始使用Spring Cloud实战微服务 3.1. Spring Cloud实战前提 3.1.1. 需要的技术储备 语言方面:可以使用Java.scala.Groo ...
- Spring Cloud实战 | 最终篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
一. 前言 在上一篇文章介绍 youlai-mall 项目中,通过整合Spring Cloud Gateway.Spring Security OAuth2.JWT等技术实现了微服务下统一认证授权平台 ...
- Spring Cloud实战之初级入门(六)— 服务网关zuul
目录 1.环境介绍 2.api网关服务 2.1 创建工程 2.3 api网关中使用token机制 2.4 测试 2.5 小结 3.一点点重要的事情 1.环境介绍 好了,不知不觉中我们已经来到了最后一篇 ...
- Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控
目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 ...
- spring cloud实战 1-高可用注册中心
创建父maven项目 提交代码至GitHub 创建eureka-server-1 项目搭建两种方式: 父pom中继承spring-boot-starter-parent,子pom中直接结成父pom.该 ...
- [Spring Cloud实战 | 第六篇:Spring Cloud Gateway+Spring Security OAuth2+JWT实现微服务统一认证授权
一. 前言 本篇实战案例基于 youlai-mall 项目.项目使用的是当前主流和最新版本的技术和解决方案,自己不会太多华丽的言辞去描述,只希望能勾起大家对编程的一点喜欢.所以有兴趣的朋友可以进入 g ...
- Spring Cloud实战 | 第九篇:Spring Cloud整合Spring Security OAuth2认证服务器统一认证自定义异常处理
本文完整代码下载点击 一. 前言 相信了解过我或者看过我之前的系列文章应该多少知道点我写这些文章包括创建 有来商城youlai-mall 这个项目的目的,想给那些真的想提升自己或者迷茫的人(包括自己- ...
随机推荐
- Java——类的访问修饰符
1.java中外部类的访问修饰符有如下四种: public,默认,abstract,final // public,默认,abstract,final. public class Test1 {} c ...
- MySQL连接不上
access denied for user root @localhost 解决办法: create user 'root'@'localhost' identified by '你的密码'; gr ...
- metasploit payload运行原理浅析
背景 最近在做一些msf相关的事情,今天听到免杀相关的,去查询了下相关资料. 第一个不能错过的就是cobalt strike作者早年写的metasploit-loader项目了,我看了项目源码,找了一 ...
- 机器学习的hello world——MNIST
MNIST:一个由60000行训练数据集和10000行的测试数据集(机器学习模型设计时必须有一个单独的数据集用于评估模型的性能)组成的数据集. 下载mnist的数据集后,将文件放入C:\Users\m ...
- 随笔 - B树算法实现
写代码之前,再回顾一下B树是什么,满足什么样的规则 B树规则: 排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则 子节点数:非叶节点的子节点数>1,且<=M ,且M>=2 ...
- 【Spark】使用java语言开发spark程序
目录 步骤 一.创建maven工程,导入jar包 二.开发代码 步骤 一.创建maven工程,导入jar包 <properties> <scala.version>2.11.8 ...
- 【STM32系列汇总】小白博主的STM32实战快速进阶之路(持续更新)
我把之前在学习和工作中使用STM32进行嵌入式开发的经验和教程等相关整理到这里,方便查阅学习,如果能帮助到您,请帮忙点个赞: 本文的宗旨 STM32 只是一个硬件平台,同样地他可以换成MSP430,N ...
- Excel+Python:分组名单
各部门的社保.公积金.全勤奖.工衣.工龄奖.罚款等名单,要统计出来,A4纸横向排版.要么发群里通知,要么打印给相应主管.部门放一列,相应部门名单放一个cell里面. 公开透明后,人头不对.人名不对,各 ...
- Vue.js-Vue的初体验
我是参考https://www.cnblogs.com/kidney/p/6052935.html 这位大神的 最开始接触vue的时候,是他的input框输入的文字和旁边的span展示的文字同步,当时 ...
- linux centos7 和 windows下 部署 .net core 2.0 web应用
centos7 下部署asp.net core 2.0应用 安装CentOS7 配置网络[可选] 安装.Net core2.0 创建测试Asp.net Core应用程序 正式部署项目 安装VMware ...