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 的集成文檔。