微服务聚合项目总结

微服务开发中经常使用的聚合项目配置项目目录结构如下

其中api-service这个聚合项目主要适用于存放开发接口的。

此处的接口主要配置,实现项目中所需要的请求接口,以及实体类,因为当实现类项目调用接口类项目的时候会一同调用接口项目中的实体类进行调用参数配置。

此处是两个实现类的目录结构,此处的实现类主要用于实现接口项目中的接口以及实现服务层的逻辑编写。

注意:实现类项目如果需要调用接口类项目的接口需要配置maven依赖导入自己父组件的依赖信息。

<dependency>
            <artifactId>springcloud2-meiszl-api-order-service</artifactId>
            <groupId>com.meiszl</groupId>
            <version>1.0</version>
        </dependency>

此处是在order-service-impl项目中调用对应的order-service接口所配置的maven依赖信息。

此处的groupId是聚合项目的父类groupId,而artifactId则是你所调用的项目的artifactId。

以order-service-impl调用order-service接口为例,

order-service接口项目的maven依赖,

<parent>
        <artifactId>springcloud2-meiszl-api-service</artifactId>
        <groupId>com.meiszl</groupId>
        <version>1.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springcloud2-meiszl-api-order-service</artifactId>

order-service-impl项目的依赖信息,

 <dependency>
            <artifactId>springcloud2-meiszl-api-order-service</artifactId>
            <groupId>com.meiszl</groupId>
            <version>1.0</version>
        </dependency>

聚合项目父类的依赖信息,

<groupId>com.meiszl</groupId>
    <artifactId>springcloud2meiszlparent</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>

可以看出此处的依赖配置关联。

member-service接口项目主要有两个作用:

1.为member-service-impl接口实现类项目提供实现接口。

2.为order-service-impl接口实现类项目提供对应的Feign接口继承接口。

order-service接口项目主要是为order-service-impl项目提供实现接口。

此处,注意在order-service接口中的feign客户端所继承的接口是member-service的接口,这样做的目的是为了省去feign客户端中的代码编写,去除冗余代码。

member-service接口:

public interface Memberservice {
    @RequestMapping("/test")
    public String testEurekaClient();
}

member-service-impl的Controller实现接口:

@RestController
public class MemberServiceImpl implements Memberservice {
    @Override
    @RequestMapping("/getMember")
    public String testEurekaClient() {
        return "这是会员服务";
    }
}

order-service接口:

public interface OrderService {
    public String getMember();
}

order-service-impl的Feign客户端实现代码:

@Component
@FeignClient(name = "APP-MEISZL-MEMBER")
public interface OrderService extends Memberservice {

}

order-service-impl的Controller实现代码:

@RestController
public class OrderServiceImpl implements OrderService{
    @Autowired
    private OrderService orderService;
    @RequestMapping("/feignMember")
    public String testEurekaClient(){
        System.out.println("feign调用member");
        return orderService.testEurekaClient();
    }

}

Feign客户端必须写在接口调用的项目中,目的是为了之后做服务降级以及服务熔断,如果写在注册接口中会导致服务降级与服务熔断不能实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Maven聚合项目是指将多个子项目组织在一起,形成一个大的项目。通过聚合项目,可以方便地管理和构建多个相关的子项目。 以下是使用Maven搭建聚合项目的步骤: 1. 创建父项目:在IDEA中创建一个新的Maven项目,作为父项目。可以使用以下命令创建一个空的Maven项目: ```shell mvn archetype:generate -DgroupId=com.example -DartifactId=parent-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 2. 创建子项目:在父项目下创建多个子项目。可以使用以下命令在父项目下创建子项目: ```shell mvn archetype:generate -DgroupId=com.example -DartifactId=child-project1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false mvn archetype:generate -DgroupId=com.example -DartifactId=child-project2 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 3. 配置父项目的pom.xml文件:在父项目的pom.xml文件中添加子项目的模块信息。在`<modules>`标签中添加子项目的artifactId,例如: ```xml <modules> <module>child-project1</module> <module>child-project2</module> </modules> ``` 4. 构建聚合项目:在父项目的根目录下执行以下命令,构建聚合项目: ```shell mvn clean install ``` 5. 运行子项目:可以在子项目的目录下执行相应的命令,例如: ```shell cd child-project1 mvn clean package ``` 通过以上步骤,你就可以成功搭建一个Maven聚合项目了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值