【SpringBoot系列】一:5分鐘構建第一個SpringBoot工程

簡介:

SpringBoot是伴隨着Spring4.0誕生的;從字面理解,Boot是引導的意思,因此SpringBoot的宗旨就是簡化開發,幫助開發者快速搭建Spring項目;

Spring Boot並不是一門新技術,可以說它繼承於Spring。對於熟悉Spring的人來說入手門檻幾乎爲0,SpringBoot僅僅是對咱們經常做的一些Spring配置做了提煉,封裝成了一個個註解;將經常引用的一些jar包整合到一起。使我們僅僅引用幾個依賴可以快速的創建一個可運行的web項目,這就是其所謂的“習慣優於配置”的理念。

關於SpringBoot和傳統SSM,SSH框架的比較,功能都是一樣的,便於我們開發web工程,是不過在效率和方便性上有所區別,就好比Idea和Eclipse,反正我用過Idea一段時間後,很難再回到Eclipse。。


建構工程:

環境準備:

-jdk 1.8或以上(jdk1.6或1.7雖然也可以,但是不推薦,需要額外的配置)
-maven 3.0+
-Idea

開始構建項目

構建一個Sping Boot的Maven項目,強烈推薦Spring Initializr,它從本質上來說就是一個Web應用程序,它能爲你生成Spring Boot項目結構。

Spring Initializr有2種用法:

1. 通過Web界面使用

1)訪問:http://start.spring.io/

2)選擇構建工具Maven Project、Spring Boot版本1.5.4以及一些工程基本信息,可參考下圖所示

圖片名稱

點擊Generate Project下載項目壓縮包

導入工程到IDEA即可。

2.通過idea創建

IntelliJ IDEA 14.1已經支持Spring Boot了,創建Spring Boot操作步驟如下:

打開Idea-> new Project ->Spring Initializr ->填寫group、artifact ->鉤上web(開啓web功能)->點下一步->FInish 就行了。


工程目錄

創建完工程,工程的目錄結構如下:

圖片名稱

pom.xml 基本的依賴管理文件
resouces 資源文件
statics 靜態資源
templates 模板資源
application.properties 一個空的properties文件,你可以根據需要添加配置屬性。
SpringbootSimpleApplication 一個帶有main()方法的類,用於啓動應用程序。
SpringbootSimpleApplicationTests 一個空的Junit測試類。


解析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.erniu</groupId>
    <artifactId>springboot-simple-application</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot-simple-application</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>


Spring Boot父級依賴:spring-boot-starter-parent

有了這個Spring Boot父級依賴,就表示當前項目就是Spring Boot項目了,spring-boot-starter-parent是一個特殊的starter,它用來提供相關的Maven默認依賴,使用它之後,常用的包依賴可以省去version標籤。關於Spring Boot提供了哪些jar包的依賴,可查看本地maven倉庫,xxx\repository\org\springframework\boot\spring-boot-dependencies\1.5.4.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom,當然如果SpringBoot提供的依賴版本不是你需要的,可以聲明其他版本的依賴覆蓋掉。

起步依賴 spring-boot-starter-web

Spring Boot提供了很多”開箱即用“的依賴模塊,都是以spring-boot-starter-xx作爲命名的。這個開箱即用,體現了SpringBoot的方便之處,舉個栗子:之前在用SpringMVC的時候,需要做很多的配置和引入各種需要的依賴,當依賴版本不匹配的時候,會出現各種莫名其妙的問題;而使用spring-boot-starter起步模塊開箱即用,自動封裝所需功能的依賴,starter在手,天下我有。

編寫代碼

創建restAPI(Controller):

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by qianqian.niu on 2017/6/27.
 */
@RestController
//該註解等價於@Controller+@ResponseBody的結合,使用這個註解的類裏面的方法都以json格式輸出。
public class HelloController {

    @GetMapping("/simple/{id}")
    public String findById(@PathVariable Long id) {
        return "hello erniu:" + id;
    }
}


創建啓動類:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//Sprnig Boot項目的核心註解,主要目的是開啓自動配置。後續講解原理的時候再深入介紹
public class SpringbootSimpleApplication {
    //該main方法作爲項目啓動的入口
    public static void main(String[] args) {
        SpringApplication.run(SpringbootSimpleApplication.class, args);
    }
}

啓動SpringbootFirstApplication的main方法,打開瀏覽器localhost:8080/simple/111,瀏覽器顯示:

圖片名稱


啓動springboot 的三種方式

1. main方法啓動
2. 使用maven命令 mvn spring-boot:run 在命令行啓動該應用
3. java -jar 命令啓動,需要先運行“mvn package”進行打包


結語:

這麼簡單的一個實例,搞起來用不了5分鐘,和之前SpringMVC各種麻煩配置相比簡直了。。
沒有任何web.xml配置,沒有任何spring.mvc配置,也沒有配置tomcat容器,也沒有各種依賴配置。。。
本篇博客作爲Spring Boot的入門介紹,需要關注的點也就這麼幾個:
Spring Boot是什麼東西
父級依賴的作用
起步依賴的概念
應用入口類的作用


源碼下載:http://download.csdn.net/detail/u010028869/9883487

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章