Spring boot之Hello World

首先聲明,Spring Boot不是一門新技術,所以不用緊張。從本質上來說,Spring Boot就是Spring,它做了那些沒有它你也會去做的Spring Bean配置。它使用“習慣優於配置”(項目中存在大量的配置,此外還內置了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot很容易創建一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的項目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

Spring將很多魔法帶入了Spring應用程序的開發之中,其中最重要的是以下四個核心。

  • 自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置
  • 起步依賴:告訴Spring Boot需要什麼功能,它就能引入需要的庫。
  • 命令行界面:這是Spring Boot的可選特性,藉此你只需寫代碼就能完成完整的應用程序,無需傳統項目構建。
  • Actuator:讓你能夠深入運行中的Spring Boot應用程序,一探究竟。

Spring Boot父級依賴

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
這塊配置就是Spring Boot父級依賴,有了這個,當前的項目就是Spring Boot項目了,spring-boot-starter-parent是一個特殊的starter,它用來提供相關的Maven默認依賴,使用它之後,常用的包依賴可以省去version標籤,也就是一些常用的包可以不用自定義版本依賴。
如果你不想使用某個依賴默認的版本,您還可以通過覆蓋自己的項目中的屬性來覆蓋各個依賴項,例如,要升級到另一個Spring Data版本系列,您可以將以下內容添加到pom.xml中。

<properties>
    <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>
您可能有您需要使用的自己的公司標準parent,或者您可能更喜歡顯式聲明所有的Maven配置。
如果你不想使用spring-boot-starter-parent,您仍然可以通過使用scope = import依賴關係來保持依賴關係管理:

<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
該設置不允許您使用如上所述的屬性(properties)覆蓋各個依賴項,要實現相同的結果,您需要在spring-boot-dependencies項之前的項目的dependencyManagement中添加一個配置,例如,要升級到另一個Spring Data版本系列,您可以將以下內容添加到pom.xml中。

<dependencyManagement>
    <dependencies>
        <!-- Override Spring Data release train provided by Spring Boot -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Fowler-SR2</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

起步依賴 spring-boot-starter-xx

Spring Boot提供了很多”開箱即用“的依賴模塊,都是以spring-boot-starter-xx作爲命名的。

就比如我們之前要實現web功能,引入了spring-boot-starter-web這個起步依賴。我們來看看spring-boot-starter-web到底依賴了哪些,如下圖:


差不多介紹完了,直接上個HelloWorld吧。

首先創建一個maven項目,添加spring boot的parent依賴:

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.2.RELEASE</version>
</parent>
最後編寫spring boot的啓動類:

@Controller
@SpringBootApplication
@Configuration
public class HelloApplication {
    
    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
        return "hello world!";
    }
    
    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }

}

代碼說明:

1、@SpringBootApplication:Spring Boot項目的核心註解,主要目的是開啓自動配置。;

2、@Configuration:這是一個配置Spring的配置類;

3、@Controller:標明這是一個SpringMVC的Controller控制器;

4、main方法:在main方法中啓動一個應用,即:這個應用的入口;

在Spring Boot項目中,啓動的方式有兩種,一種是直接run Java Application另外一種是通過Spring Boot的Maven插件運行

第一種:



第二種:


啓動效果:


看到如下信息就說明啓動成功了:

INFO 6188 --- [           main]c.i.springboot.demo.HelloApplication     : Started HelloApplication in 3.281 seconds(JVM running for 3.601) 

測試

打開瀏覽器,輸入地址:


效果:


大功告成!!

最後貼一下我的項目位置:


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