支付宝Sofa框架简明笔记

Sofa框架概述

SOFA是Service Oriented Fabric Architecture是一种分布式架构解决方案,是一个应用中间件,包含了RPC、消息、监控和服务治理。

开发框架的组成

一个标准的sofa工程从上到下可以分为测试层、展现层、业务层、核心领域层和通用层,并且从测试层到通用层是层级依赖的。一般来说,如果下层模块依赖了上层模块的代码,那么就会出现循环依赖,导致工程报错。在通用层,又可以分为数据访问层、服务引用和应用jar包。

sofa模块与jar包的区别

1、一个 SOFA 模块的 META-INF 目录下,有一个 MANIFEST.MF 文件,这份文件里面定义了 SOFA 模块的名称以及模块之间的依赖关系。 
2、在一个 SOFA 模块的 META-INF/spring 目录下,可以放置任意多的 Spring 配置文件,这些配置文件,SOFA 会自定把它们作为本模块的 Spring 配置加载起来。

服务发布与引用

在使用sofa开发的时候,使用最多的就是sofa服务的引用与发布了,具体来说,服务发布与引用的流程如下:

1、XML
<bean id="sampleService" class="com.alipay.sofa.runtime.test.service.SampleServiceImpl">
<!-- 服务的发布 -->
<sofa:service interface="com.alipay.sofa.runtime.test.service.SampleService" ref="sampleService" />
<!-- 服务的引用 -->
<sofa:reference interface="com.alipay.sofa.runtime.test.service.SampleService" id="sampleServiceRef" />

2、Annotation
@SofaService
public class SampleImpl implements SampleInterface {
   public void test() {

   }
}
@SofaService(interfaceType=SampleInterface.class)
public class SampleImpl implements SampleInterface, Serializable {
   public void test() {

   }
}

public class SampleServiceRef {
    @SofaReference
    private SampleService sampleService;
}
public class SampleServiceRef {
    @SofaReference(interfaceType=SampleService.class)
    private SampleService sampleService;
}

3、编程API

<sofa:service interface="com.alipay.sofa.runtime.test.service.SampleService" ref="sampleService1" unique-id="ss1">
</sofa:service>
<sofa:service interface="com.alipay.sofa.runtime.test.service.SampleService" ref="sampleService2" unique-id="ss2">
</sofa:service>

<sofa:reference interface="com.alipay.sofa.runtime.test.service.SampleService" id="sampleService" unique-id="ss1">
</sofa:reference>
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值