简介
--
首先介绍下在本文出现的几个比较重要的概念:
> **函数计算(Function Compute)**:[函数计算](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttp%253A%252F%252Ffc.console.aliyun.com%252F%253Ffctraceid%253DYXV0aG9yJTNEJUU1JTgwJTlBJUU4JUI0JUE0JTI2dGl0bGUlM0QlRTUlQkYlQUIlRTklODAlOUYlRTklODMlQTglRTclQkQlQjIlMjBTcHJpbmclMjBQZXRDbGluaWMlMjAlRTUlODglQjAlRTUlODclQkQlRTYlOTUlQjAlRTglQUUlQTElRTclQUUlOTclRTUlQjklQjMlRTUlOEYlQjA%253D)是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息[参考](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fproduct%252F50980.html)。
>
> **Funcraft**:Funcraft 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档[参考](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Faliyun%2Ffun)。
>
> **spring-petclinic**:[PetClinic](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fspring-projects%2Fspring-petclinic) 是一个 Spring Boot 、Spring MVC 和 Spring Data 结合使用的示例项目,是学习 Spring Boot 经典案例。
![](https://data-analysis.cn-shanghai.log.aliyuncs.com/logstores/article-logs/track_ua.gif?APIVersion=0.6.0&title=%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%20Spring%20PetClinic%20%E5%88%B0%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E5%B9%B3%E5%8F%B0&author=%E5%80%9A%E8%B4%A4&src=article)
![](https://img.alicdn.com/tfs/TB1fc0BspP7gK0jSZFjXXc5aXXa-518-316.png)
Spring 框架是由一些小而美的 Java 框架以松散耦合的方式集成在一起。这些 Java 框架可以独立或者集成使用以构建许多不同类型的工业级应用程序。PetClinic 示例应用程序是为了说明如何使用 Spring 应用程序框架来构建简单且功能强大的面向数据库的应用程序。它演示了 Spring 核心功能用法。
使用控制反转和 MVC 的 Web 表示层,基于 JavaBeans 的应用程序配置,通过 JDBC,Hibernate 或 JPA 进行数据库访问,基于 JMX 声明式事务管理的应用程序监视,使用 AOP 数据验证来支持但不依赖于表示层的 Spring 框架提供了大量有用的基础结构,以简化应用程序开发工作。
![](https://img.alicdn.com/tfs/TB11ZBEsuL2gK0jSZPhXXahvXXa-645-472.png)
本应用模板使用函数计算的 [Custom 运行时](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fdocument_detail%252F132044.html)和 [RDS-MySQL 云服务](https://cn.aliyun.com/product/rds/mysql)作为 Spring Boot 应用的运行环境。借助于[资源编排服务(ROS)](https://cn.aliyun.com/product/ros)的能力,该模板会自动创建 VPC、VSwitch、SecurityGroup、RDS 和绑定了 HTTP Trigger 的函数,以及绑定到 HTTP 函数的自定义域名,并自动配置好这些服务,以达到迅速上线开箱即用的效果。
注意:
1. 需要提供一个域名(支持二级域名),如果部署在国内 Region 该域名需要在阿里云备案,然后把域名的 CNAME 记录指向 `12345.cn-shanghai.fc.aliyuncs.com`,其中 `12345` 换成您的 AccountID,如果是在国外 Region 可以免去备案环节,[请查看更多参考](https://help.aliyun.com/document_detail/90722.html)
2. 模板创建的 [RDS-MySQL 云服务](https://cn.aliyun.com/product/rds/mysql)选用了最便宜的按量付费实例,费用大约为:¥0.236/小时,使用前需要确保账户有 100 元的余额,并且试用完成以后建议通过 [ROS 控制台](https://rosnext.console.aliyun.com/)删除该应用,以免产生超出预期的费用。
快速开始
----
下面我们借助于函数计算的应用中心,快速地将 Spring PetClinic 快速部署到函数计算平台。
1. 打开函数计算 [Spring PetClinic 应用详情页](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Ffc.console.aliyun.com%252Ffc%252Fapplications%252Fcn-hongkong%252Ftemplate%252FSpring-PetClinic%2523intro)。如果您尚未开通函数计算服务可能需要先,开通服务是免费的,另外函数计算有每月免费额度,试用服务不会产生费用。
![](https://img.alicdn.com/tfs/TB1yw8Vsxn1gK0jSZKPXXXvUXXa-1071-680.png)
2. 滚动到 [Spring PetClinic 应用详情页](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Ffc.console.aliyun.com%252Ffc%252Fapplications%252Fcn-hongkong%252Ftemplate%252FSpring-PetClinic%2523intro)的最底部,点击“立即部署”按钮。
![](https://img.alicdn.com/tfs/TB10ylYsy_1gK0jSZFqXXcpaXXa-1071-680.png)
3. 填写应用名称和域名,其中域名需要先去设定 DNS 的 CNAME 记录,然后点击“部署”按钮。
![](https://img.alicdn.com/tfs/TB1eGB2sAY2gK0jSZFgXXc5OFXa-1071-1103.png)
4. 稍等片刻,等到部署成功以后,拷贝 URL 网址。
![](https://img.alicdn.com/tfs/TB1Zy0YsEH1gK0jSZSyXXXtlpXa-1071-707.png)
5. 在浏览器中打开上面拷贝的网址
![](https://img.alicdn.com/tfs/TB12C4YsxD1gK0jSZFsXXbldVXa-1071-707.png)
工作原理
----
本示例中,我们打算使用函数计算的 [Custom 运行时](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3D%25E5%25BF%25AB%25E9%2580%259F%25E9%2583%25A8%25E7%25BD%25B2%2520Spring%2520PetClinic%2520%25E5%2588%25B0%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25B9%25B3%25E5%258F%25B0%26amp%3Bauthor%3D%25E5%2580%259A%25E8%25B4%25A4%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fdocument_detail%252F132044.html) 来移植 Petclinic 项目。顾名思义, Custom Runtime 就是自定义的执行环境, 用户基于 Custom Runtime 可以完成以下目标:
* 可以随心所欲持定制个性化语言执行环境(例如 Golang、Lua、Ruby)以及各种语言的小版本(例如 Python3.7、Nodejs12 )等,打造属于自己的自定义 Runtime
* 现有的 Web 应用或基于传统开发 Web 项目基本不用做任何改造,即可将项目一键迁移到函数计算平台
该应用的架构图如下:
![](https://img.alicdn.com/tfs/TB1EbdXsCf2gK0jSZFPXXXsopXa-1029-645.png)
定制化开发
-----
### 依赖工具
本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。
[原文链接](https://yq.aliyun.com/articles/741260?utm_content=g_1000098147)
本文为阿里云内容,未经允许不得转载。
分享到:
相关推荐
**Spring框架的示例项目源码 - Spring Petclinic** Spring Petclinic是Spring官方提供的一款开源示例应用,它用于展示Spring框架的各种特性及其在实际开发中的应用。该项目可以帮助开发者理解和学习Spring框架的...
《Spring PetClinic:探索Spring框架的实践案例》 Spring PetClinic是Spring官方提供的一款开源示例应用,它主要用于展示Spring框架的核心特性及其在实际项目中的应用。这个项目不仅适用于初学者理解Spring的工作...
Spring PetClinic 示例应用程序几张图了解Spring Petclinic应用在本地经营宠物诊所git clone https://github.com/spring-projects/spring-petclinic.gitmvn tomcat7:run然后您可以在此处访问 petclinic: 如果您发现...
Spring Petclinic的角形前端 警告:仅客户端。 从后端使用REST API在启动前端应用程序之前,您需要启动后端服务器。 屏幕截图 安装 按照描述将更新到最新版本(当前为8.0.3)。 npm uninstall -g angular-cli @...
Spring PetClinic示例应用程序的AngularJS和Spring Boot版本 通过一些图表了解Spring Petclinic应用程序 在本地运行诊所 git clone https://github.com/spring-petclinic/spring-petclinic-angularjs.git cd spring-...
这篇教程“Adding Security to Spring Petclinic”旨在帮助开发者了解如何将安全特性整合到 Spring Petclinic 示例应用中。Spring Petclinic 是一个基于 Spring Boot 开发的开源项目,它展示了 Spring 框架的各种...
-spring-petclinic 已部署在 cloudfoundry 上: ://demo-spring-petclinic.cfapps.io/ 几张图了解Spring Petclinic应用 在本地经营宠物诊所 git clone https://github.com/SpringSource/spring-petclinic.git mvn...
通过一些图表了解Spring Petclinic应用程序 在本地运行诊所 Petclinic是使用构建的应用程序。 您可以构建一个jar文件并从命令行运行它: git clone https://github.com/spring-projects/spring-petclinic.git cd ...
《Spring PetClinic项目详解:领略Spring框架与Java后端开发的魅力》 Spring PetClinic项目是Spring官方推出的一个小型示例应用,旨在帮助开发者更好地理解和掌握Spring框架的核心功能和特性。这个项目不仅是一个...
总结来说,Spring PetClinic项目是一个很好的学习平台,它展示了Spring Boot和pf4j-spring-boot插件库在实际项目中的应用,帮助开发者理解如何利用现代Java技术实现模块化和可扩展性。对于想要提升Spring Boot和插件...
SpringPetClinic样品申请它是什么样子的? -spring-petclinic已在此处部署在cloudfoundry上: ://demo-spring-petclinic.cfapps.io/通过一些图表了解Spring Petclinic应用程序在本地运行诊所git clone ...
Spring PetClinic 示例应用程序几张图了解Spring Petclinic应用在本地经营宠物诊所git clone https://github.com/spring-projects/spring-petclinic.gitmvn tomcat7:run然后您可以在此处访问 petclinic: 如果您发现...
REST版本的Spring PetClinic示例应用程序(spring-framework-petclinic扩展) Spring Petclinic应用程序的此后端版本仅提供REST API。 没有UI 。 是使用REST API的Angular前端应用程序。 通过一些图表了解Spring ...
REST版本的Spring PetClinic示例应用程序(spring-framework-petclinic扩展) Spring Petclinic应用程序的此后端版本仅提供REST API。 没有UI 。 是Angular前端应用程序,它使用了REST API。 通过一些图表了解...
使用Spring Cloud构建的Spring PetClinic示例应用程序的分布式版本 该微服务分支最初源自以演示如何将示例Spring应用程序拆分为。 为了实现该目标,我们使用了技术堆栈中的Spring Cloud Gateway,Spring Cloud ...
SpringPetClinic样品申请通过一些图表了解Spring Petclinic应用程序在本地运行诊所git clone https://github.com/spring-projects/spring-petclinic.gitcd spring-petclinic./mvnw spring-boot:run 然后,您可以在...
总结来说,这个压缩包提供了一个集成Spring和Hibernate的实践项目——PetClinic,通过查看和运行源代码,学习者可以深入了解这两个框架的整合方式,包括Spring如何管理依赖,Hibernate如何映射和操作数据库,以及...
使用Spring Data JDBC构建的Spring PetClinic示例应用程序 这是官方应用程序的一个分支,该应用程序具有使用而非构建的域和持久层。 另外: 使用在集成测试期间启动MySQL 使用进行监视检查原始项目以了解项目简介,...