Java Spring Cloud 实战之路 - 1 建立项目

0. 前言

该项目使用Maven进行管理和构建,因此须要预先配置好Maven。嗯,在这个系列里就不作过多的介绍了。spring

1. 建立项目

先建立一个pom.xml 文件,添加如下内容:apache

<?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。这个文件用于管理源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目受权、项目地址和依赖关系。bash

pom文件对于maven项目重要到,一个maven项目能够没有其余的任何文件和内容,但绝对不能没有pom.xml文件。maven

1.1 项目信息

pom文件中包含了项目的基本信息:spring-boot

  • groupId 组织名称
  • artifactId 项目名称
  • version 版本号

1.2 使用占位符

在pom中咱们会使用不少项目的版本号,有时候还会使用一些其余的常量。若是常量分布的比较零散,这样就不利于咱们的维护和管理。这时候就要引入占位符或者叫属性。咱们将须要的常量声明在properties节点内:工具

<properties>
    <revision>1.0-SNAPSHOT</revision>
</properties>

这种形式相似于 声明了一个变量spa

revision=1.0-SNAPSHOT

在须要这个变量的时候,经过${revision}使用便可。code

2. 项目结构分层

在一个工业级的项目里,咱们须要对项目进行一个合理的分层。这样有利于开发和后期维护。xml

那么,先在根目录下添加这三个目录:对象

  • 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. 总结

如今,咱们搭建起了一个项目架子,里面空荡荡的什么都没有,但这样就造成了一个骨架,后期将为这个骨架丰富血肉,让它的功能更增强大。

更多内容烦请关注 个人博客《高先生小屋》

file

相关文章
相关标签/搜索