标签:Azure 微软 Spring Boot Java 云
Spring Boot继承了Spring Framework的强大,但却同时免去了Spring Framework繁杂的配置,而且其内置TomCat容器,使得web开发极为高效便捷。此外,随着与云计算,集群等技术的成本不断下降并变得广为流行,微服务(Micro-Service)的概念也逐渐引申出来,我们可以将微服务看作是一个小程序,这个小程序是一个基本计算单元,实现了某一功能,该小程序往往还“自包含”了Http服务器(Self-Hosting)。这些特性使得小程序可以独立存在,部署极为方便。可以很容易的部署到各个计算节点上。说到这里,很多人发现NodeJS非常具备开发微服务的特性,然而,有了Spring Boot,使用Java语言一样可以方便开发出微服务,而且Java语言天生的强类型特性也使其保证了程序的健壮性。
下面给出一个简单的基于Spring Boot的程序,该程序非常简单,只有两个文件,主程序Application.Java和控制器DemoController.java。
Application.java
Application.java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
DemoController.java
@RequestMapping("/hello") public String hello() { return "Hello World"; }
编译打包生成一个可执行jar包Application.jar,然后在命令行输入java -jar Application.jar启动该程序。打开浏览器,输入http://localhost:8080/hello即可看到该程序的输出
可见,使用Spring Boot开发一个Web应用是多么的便捷啊,我们无需去配置搭建http服务器,无需配置搭建Java应用容器。一个JAR包即可“闯天下”。
如果我们开发了一个微服务,并打包成JAR,我们可以将它放到云上或者一个有网络的本地服务器上去运行。如何放在本地服务器上运行就不再赘述了,简言之,直接运行Java -jar XXX.jar即可实现微服务的部署。接下来我们就看看如果将这个JAR包部署到微软的Azure云服务上。
首先我们需要登陆到Azure去创建一个Web App。依次点击“Create a resource”,“Web + Mobile”,“Web App”
然后填写程序名称,选择订阅账号
创建完成后进入Web App配置界面,允许Git上传,并设置上传账号
进入Application settings开启Java支持
至此,我们完成了Web App的创建和配置,接下来我们就要开始部署我们的JAR包到云上了。
首先我们克隆云上的项目到本地,进入Overview,然后复制Git clone url。在命令行使用git clone http://xxx 克隆到本地。初始项目只有一个html文件和一个空的webapps目录。
拷贝我们的JAR 包到webapps里面,然后新建一个web.config文件在项目根目录
复制如下内容到web.config文件
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> </handlers> <httpPlatform processPath="%JAVA_HOME%\bin\java.exe" arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\webapps\main.jar""> </httpPlatform> </system.webServer> </configuration>
然后使用GIT命令添加,提交到云,至此,部署完成!接下来,我们打开浏览器,输入项目的网址https://XXXX.azurewebsites.net即可访问看到Hello World。
标签:Azure 微软 Spring Boot Java 云
原文地址:http://blog.51cto.com/13619586/2082969