搭建简单的SpringCloud项目一:注册中心和公共层

注:笔者在搭建途中其实遇见不少问题,统一放在后面的文章说明,现在的搭建是测试OK的。

GitHub:https://github.com/ownzyuan/test-cloud

 后续:搭建简单的SpringCloud项目二:服务层和消费层

            搭建简单的SpringCloud项目三:问题及解决

数据库

创建一个非常简单的user表

父工程

新建Maven项目(不直接创建SpringBoot项目):

删掉父工程的src,引入SprinCloud、SprinBoot、Eureka、tkMybatis、Lombok等的依赖

<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-dependencies</artifactId>
                <version>2.1.4.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency><dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka-server</artifactId>
                <version>1.4.0.RELEASE</version>
            </dependency><dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
                <version>1.4.0.RELEASE</version>
            </dependency><dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-openfeign-core</artifactId>
                <version>2.0.1.RELEASE</version>
            </dependency><dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
                <version>2.0.1.RELEASE</version>
            </dependency><dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.47</version>
            </dependency><dependency>
                <groupId>com.github.drtrang</groupId>
                <artifactId>druid-spring-boot2-starter</artifactId>
                <version>1.1.10</version>
            </dependency><dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>1.1.2</version>
            </dependency><dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper</artifactId>
                <version>3.4.1</version>
            </dependency><dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.20</version>
            </dependency></dependencies>
</dependencyManagement>

搭建注册中心

新建Moudle

eureka项目中pom依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
</dependencies>

application文件配置

server:
  port: 8081
​
eureka:
  instance:
    hostname: 127.0.0.1
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

最后创建启动类,注意加入@EnableEurekaServer

 

启动项目并访问http://localhost:8081/

 

注册中心完成

 

加入common

注:非必要加入的一层,仅为了方便统一管理。

common-base层

这一层主要是将一些基础功能做好封装,在需要的时候直接继承过去就行。

引入Lombok、tkMybatis

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper</artifactId>
    </dependency>
</dependencies>

首先是基础DTO对象

然后是IBaseService接口

对应实现类(注意有些方法不实现,故使用抽象类):

common层

依赖与common-base一样,同时将common-base层也引进来

<dependencies>  
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
        </dependency>
        <dependency>
            <groupId>com.zy</groupId>
            <artifactId>cloud-common-base</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
</dependencies>

创建User实体

import lombok.AllArgsConstructor;
import lombok.Data;
​
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
​
@Data
@AllArgsConstructor
@Table(name = "user")
public class User {
​
    @Id
    private Long id;
​
    @Column(name = "name")
    private String name;
​
    @Column(name = "status")
    private Integer status;
}

创建UserDTO:

import com.zy.entity.dto.BaseDTO;
import lombok.Data;
import lombok.experimental.Accessors;
​
import javax.persistence.Column;
import javax.persistence.Table;
​
@Data
@Accessors(chain = true)
@Table(name = "user")
public class UserDTO extends BaseDTO {
​
    @Column(name = "name")
    private String name;
​
}

 

posted @ 2021-04-16 11:20  LonZyuan  阅读(228)  评论(0编辑  收藏  举报