全部产品

将 Spring Boot 工程迁移至 SOFABoot 工程

更新时间:2019-11-04 19:25:45

SOFABoot 是基于 Spring Boot 框架构建的,所以可以轻松地从 Spring Boot 迁移至 SOFABoot。在阅读本文中的 注意事项 后,您可以遵循 迁移步骤 将现有的 Spring Boot 工程改为使用 SOFABoot 框架的工程。

注意事项

  • SOFABoot 框架基于 Spring Boot 2.1.0.RELEASE 版本构建,您在迁移过程中可能会发生 Spring Boot 版本的变更。如果在升级过程中出现不兼容,可 提交工单 由专业技术团队为您服务。
  • Tracer(分布式链路跟踪)已集成在各个中间件的 starter 中,无需额外添加依赖以及配置。

迁移步骤

您可以通过以下步骤完成工程迁移。

  1. 在工程的 application.properties 配置文件中,添加基础配置。其中,您需要指定以下两个系统配置项:
    • spring.application.name:必填。此为应用名称,保持 Spring Boot 的扩展和一致性。
    • logging.path:必填。配置日志的输出路径。

      说明:关于这两个配置项的详细说明,参见 系统配置参数

  2. 在工程的 application.properties 配置文件中,修改中间件配置项。具体配置方法见 引入 SOFA 中间件 > 添加中间件全局配置项
  3. 打开工程根目录下的 pom.xml 文件, 在 parent 部分配置以下版本依赖:
    1. <parent>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>sofaboot-enterprise-dependencies</artifactId>
    4. <version>3.1.1</version>
    5. </parent>
  4. pom.xml 中引入对应中间件的 starter(查看 引入 SOFA 中间件 > 所有中间件 starter)。以添加 SOFAREST 为例,只需在 pom.xml 中配置以下依赖:
    1. <dependency>
    2. <groupId>com.alipay.sofa</groupId>
    3. <artifactId>rest-enterprise-sofa-boot-starter</artifactId>
    4. <version>3.0.0</version>
    5. </dependency>
  5. 声明 rest facade 接口。示例如下:

    1. @Path("/webapi/test")
    2. @Consumes("application/json;charset=UTF-8")
    3. @Produces("application/json;charset=UTF-8")
    4. public interface TestFacade {
    5. @GET
    6. public String test();
    7. }
  6. 声明 facade 的实现类。示例如下:
    1. public class TestServiceImpl implements TestFacade {
    2. @Override
    3. public String test() {
    4. return "test";
    5. }
    6. }
  7. 将该实现类声明为 bean。示例如下:
    1. <bean id="testServiceImpl" class="com.alipay.test.endpoint.impl.TestServiceImpl"/>
  8. 启动应用。
    • 在浏览器中访问 http://localhost:8341/webapi/test,可以看到 rest 接口返回的数据。
    • ${logging.path}/logs/tracelog/rest-server-digest.log 文件中,可以查看该次访问的链路信息(Tracer)日志。

      说明{logging.path} 为您在配置文件中设置的日志输出路径。

其他 SOFA 中间件集成方式可以参考对应中间件 starter 的集成文档。