SOFABoot 是基于 Spring Boot 框架构建的,所以可以轻松地从 Spring Boot 迁移至 SOFABoot。在阅读本文中的 注意事项 后,您可以遵循 迁移步骤 将现有的 Spring Boot 工程改为使用 SOFABoot 框架的工程。
注意事项
SOFABoot 框架基于 Spring Boot 2.1.0.RELEASE 版本构建,您在迁移过程中可能会发生 Spring Boot 版本的变更。如果在升级过程中出现不兼容,可联系技术团队为您服务。
Tracer(分布式链路跟踪)已集成在各个中间件的 starter 中,无需额外添加依赖以及配置。
迁移步骤
您可以通过以下步骤完成工程迁移。
在工程的
application.properties
配置文件中,添加基础配置。其中,您需要指定以下两个系统配置项:spring.application.name
:必填。此为应用名称,保持 Spring Boot 的扩展和一致性。logging.path
:必填。配置日志的输出路径。说明关于这两个配置项的详细说明,参见 系统配置参数。
在工程的
application.properties
配置文件中,修改中间件配置项。具体配置方法见 引入 SOFA 中间件> 添加中间件全局配置项。打开工程根目录下的
pom.xml
文件,在parent
部分配置以下版本依赖:<parent> <groupId>com.alipay.sofa</groupId> <artifactId>sofaboot-enterprise-dependencies</artifactId> <version>3.1.1</version> </parent>
在
pom.xml
中引入对应中间件的 starter(查看 引入 SOFA 中间件> 所有中间件 starter)。以添加 SOFAREST 为例,只需在pom.xml
中配置以下依赖:<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>rest-enterprise-sofa-boot-starter</artifactId> <version>3.0.0</version> </dependency>
声明
rest facade
接口。示例如下:@Path("/webapi/test") @Consumes("application/json;charset=UTF-8") @Produces("application/json;charset=UTF-8") public interface TestFacade{ @GET public String test(); }
声明
facade
的实现类。示例如下:public class TestServiceImpl implements TestFacade{ @Override public String test(){ return "test"; } }
将该实现类声明为 bean。示例如下:
<bean id="testServiceImpl" class="com.alipay.test.endpoint.impl.TestServiceImpl"/>
启动应用。
在浏览器中访问
http://localhost:8341/webapi/test
,可以看到 rest 接口返回的数据。在
${logging.path}/logs/tracelog/rest-server-digest.log
文件中,可以查看该次访问的链路信息(Tracer)日志。说明{logging.path}
为您在配置文件中设置的日志输出路径。
其他 SOFA 中间件集成方式可以参考对应中间件 starter 的集成文档。