極速切入Spring Boot微服務框架
前言</span></span>
“微服務(Microservices)”目前業界比較火的詞匯,可以發現infoq和一些其他的軟件類媒體網站都開辟了專欄,包括我的大神Martin Fowler(http://martinfowler.com /)的主站也對微服務開辟了專欄,另外各種微服務相關的文章轉發我就不說了。Spring Boot這種微框架熱別適合微服務應用的開發,如果對Spring比較熟悉,然后來使用這種框架的時候會很長簡單,如果沒有Spring基礎,Spring Boot也是切入Spring生態的一個很好的入口。今天這篇文章主要介紹了我在使用Spring Boot創建一個應用的過程,帶大家隨意感受一下Spring Boot的威力。后面我會翻譯相關的一些“微服務”架構相關的一些文章,有興趣可以一起學習。
另外一個讓我興奮的特點是我可以像部署node應用一樣玩轉java web應用啦:)
1,Spring Boot簡介
Spring Boot是一個微型框架,可以用來“極速”創建一個基于Spring的應用,它可以自動配置Spring的各種組件,幫助用戶快速搭建一個獨立的Spring應用。
下面是我在本機使用Spring Boot創建應用的過程:
2,安裝Spring Boot CLI
Spring Boot CLI是一個快速創建Spring應用原型的工具,它使得你可以運行Groovy腳本,這意味著你可以用類似java語法的語言來寫code,我的開發環境是MAC OSX。
我們不需要一定使用CLI來創建Spring應用,但是這絕對是個快速創建Spring應用的方法。接下來,首先我首先在我的機器上安裝Spring Boot CLI,我用的是Homebrew工具,這個東西在MAC環境下使用,類似Ubuntu下的apt-get,下面命令安裝Spring Boot CLI:
$ brew tap pivotal/tap
$ brew install springboot 如果你也想要Homebrew,請訪問http://brew.sh/獲取。
</div>
3,第一個極簡的例子,看看Spring Boot能做到的
我們創建一個groovy文件,命名叫App.groovy
<span>@RestController
class ThisWillActuallyRun{
@RequestMapping("/")
String home(){
"Hello World"
}
}</span></pre></div>
接下來在命令行鍵入:spring run App.groovy,看見下面標識和打印日志就ok了:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.2.5.RELEASE)
接下來可以訪問了,http://localhost:8080,可以看到頁面已經輸出"Hello World",這是令我激動的地方,因為我可以像啟動NodeJS應用一樣來玩轉我的JAVA Web應用了,這都是由于Spring Boot內嵌了tomcat來為我們做到的,并且它為我們做了很多事情,我們基本上可以只需要在文本文件里面寫上幾十個字符就可以創建一個基于 Spring框架技術的Web應用了。
</div>
4,稍微完整并且可部署的應用
我們先創建一個空的maven應用,pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.floatlu.lab</groupId>
<artifactId>spriboot</artifactId>
<version>1.0-SNAPSHOT</version>
<!--繼承spring-boot-starter-parent的maven配置-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
</parent>
<properties>
<spring.version>4.1.6.RELEASE</spring.version>
</properties>
<dependencies>
<!--創建web需要的依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--打包需要的插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.2.3.RELEASE</version>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project> </pre> pom.xml 文件非常簡單,主要是需要添加一個parent的節點來配置改pom繼承spring-boot-starter-parent的配置,并且添加一個構建 web需要的依賴spring-boot-starter-web,其次就是maven打包需要的插件spring-boot-maven-plugin 了。最下面是配置的maven源,官方文檔說非snapshot版本的Spring Boot是不需要該配置的,我沒有試。
接下來創建一個App.java類,這個類是Spring Boot啟動類:
<span>@SpringBootApplication
@ComponentScan(value = "com.spriboot.controller")
public class App {
public static void main(String ...s){
SpringApplication.run(App.class, s);
}
}</span></pre>其中ComponentScan注解配置Spring掃描組件的路徑,這個和通常的Spring用法一致,在Controller包里面我創建了一個Example類并且打上@RestControllrt注解:</span>
<span>@RestController
public class Example {
@RequestMapping("/home")
public String home(){
return "homepage";
}
} </span></pre>
這個寫法和普通的Spring MVC寫法一致。不同的是@RestController注解,這表明這是一個Restful的Controller,其返回值將會直接作為 Response Body返回給瀏覽器,如果需要返回到模板引擎的話需要使用普通的@Controller注解。接下來啟動App.java運行主函數,就可以開啟這個應用了。
5,打包部署
在項目下面執行mvn package來把項目打包成jar:
比如我的項目打包完成之后是spriboot-1.0-SNAPSHOT.jar文件,然后java -jar spriboot-1.0-SNAPSHOT.jar就可以部署這個應用了。
</div>
來自:http://jvmplus.duapp.com/
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
相關經驗
相關資訊