Spring Boot
一、Spring Boot簡介
springBoot是爲了簡化Spring開發而生,從Spring 3.x開始,Spring社區的發展方向就是弱化xml配置文件而加大註解的戲份。最近召開的SpringOne2GX2015大會上顯示:Spring Boot已經是Spring社區中增長最迅速的框架,前三名是:Spring Framework,Spring Boot和Spring Security,這個應該是未來的趨勢。
SpringBoot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。
多年以來,SpringIO平臺飽受非議的一點就是大量的XML配置以及複雜的依賴管理。在去年的SpringOne 2GX會議上,Pivotal的CTO Adrian Colyer迴應了這些批評,並且特別提到該平臺將來的目標之一就是實現免XML配置的開發體驗。Boot所實現的功能超出了這個任務的描述,開發人員不僅不再需要編寫XML,而且在一些場景中甚至不需要編寫繁瑣的import語句。在對外公開的beta版本剛剛發佈之時,Boot描述瞭如何使用該框架在140個字符內實現可運行的web應用,從而獲得了極大的關注度,該樣例發表在tweet上。
然而,Spring Boot並不是要成爲Spring IO平臺裏面衆多“Foundation”層項目的替代者。Spring Boot的目標不在於爲已解決的問題域提供新的解決方案,而是爲平臺帶來另一種開發體驗,從而簡化對這些已有技術的使用。對於已經熟悉Spring生態系統的開發人員來說,Boot是一個很理想的選擇,不過對於採用Spring技術的新人來說,Boot提供一種更簡潔的方式來使用這些技術。
在追求開發體驗的提升方面,SpringBoot,甚至可以說整個Spring生態系統都使用到了Groovy編程語言。Boot所提供的衆多便捷功能,都是藉助於Groovy強大的MetaObject協議、可插拔的AST轉換過程以及內置的依賴解決方案引擎所實現的。在其核心的編譯模型之中,Boot使用Groovy來構建工程文件,所以它可以使用通用的導入和樣板方法(如類的main方法)對類所生成的字節碼進行裝飾(decorate)。這樣使用Boot編寫的應用就能保持非常簡潔,卻依然可以提供衆多的功能。
二、Spring Boot 網址
官網:http://projects.spring.io/spring-boot/
API:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/
github:https://github.com/spring-projects/spring-boot
三、SpringBoot構建web項目----HolleWord
1.創建一個Maven工程
2.編寫pom.xml文件,如下:
<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.supre</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<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>
</plugin>
</plugins>
</build>
</project>
3.創建啓動類App.javapackage com.supre.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Hello world!
*
*/
@SpringBootApplication
@RestController
public class App {
@RequestMapping("/")
public String getHolle(){
return "HolleWord";
}
public static void main( String[] args ){
System.out.println( "Hello World!" );
SpringApplication.run(App.class, args);
}
}
4.右鍵run as 類App.java,訪問http://localhost:8080/
參考博文:http://www.infoq.com/cn/articles/microframeworks1-spring-boot/