【SpringBoot實戰】快速創建springboot程序


前言

本片博客記錄快速創建springboot工程的兩種方式。一種是使用maven創建,一種是使用spring initializr創建。開發環境JDK1.8、IDEA、maven。

SpringBoot 優點

  • 可快速構建spring應用
  • 直接嵌入tomcat、jetty、undenrtow服務器(無須部署war文件)
  • 提供依賴啟動器(starter)簡化構建配置
  • 極大程度的自動化配置Spring和第三方庫
  • 提供生產就緒功能,例如指標監控檢測、外部檢測
  • 極少代碼生成和XML配置

使用maven創建Spring Boot項目

第一步:

首先在左上角的file->new->project(如果是新安裝的IDEA需要配置maven倉庫,當然idea自己也會幫你配置,但是好像在C盤,並且可能會出現一些錯誤提示問題,如果不介意然可以使用,但是還是建議使用自己的maven倉庫創建,直接點擊new project),然后出現下面圖片顯示,選擇maven項目,點擊next。到下一個界面。
image

第二步:

這個界面的name就是你的項目名,location就是你項目的地址路徑,groupid一般是你網址域名倒着寫,例如com.hjk.www那反過來就是www.hjk.com,這一般是公司定義的,我們可以自己命名。
image

第三步:

然后我們找到pom.xml文件,在里面添加兩個依賴,添加依賴你的maven倉庫如果沒有這個包是會報錯的,然后我們點擊一個類似刷新的圖標idea就會加載相關的包了,我們等它加載完,第一次加載應該會等很長時間,我們耐心等待一下。如果在加載完成之后你的parent的那個依賴會爆紅,可能是應為你的倉庫是idea的默認C盤那個倉庫,建議換成自己的。這個報錯的原因好像是那個倉庫下載的是基礎包,沒有這個parent的包!
image

第四步:

最后我們查看一下我們所導入的包都有什么,點擊右邊的maven->dependencies查看
image

第五步:

我們創建一個主程序啟動類
我們在學mvc是常常都是有幾個包(dao、service、controller)我們在寫springboot項目時也是差不多的,這里我們在dao包的同級目錄下創建一個主程序類。
image

代碼:

package com.hjk;


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

@SpringBootApplication
public class springbootParent {

    public static void main(String[] args) {
    SpringApplication.run(springbootParent.class,args);
    }
}

最后我們創建一個controller測試一下

在controller包里面創建一個HelloController類

package com.hjk.controller;

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

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello SpringBoot";
    }
}

運行springbootParent類,然后訪問"http://localhost:8080/hello" 然后就能在這個界面看到字符串輸出了。

與html聯系

我們怎么通過controller去訪問html界面呢,
首先我們把thymeleaf依賴導入pom.xml

       <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-java8time</artifactId>
        </dependency>

然后我們把HelloController改一下。因為上面我們用的是@RestController注解,返回的是一個json字符串,不會被spring解析,那是適用於傳數據使用,我們需要使用@Controller注解進行頁面的跳轉。

package com.hjk.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
    @RequestMapping("/a")
    public String index(){
        return "index";
    }
}

然后再resources文件夾下,建立這樣的結構
image

頁面里面寫什么無所謂。
然后我們重新啟動項目,通過訪問"http://localhost:8080/hello" 和"http://localhost:8080/a“ 可以跳轉到頁面。我們可以看到,注解里面寫的是url路徑,return后面的是需要跳轉的頁面名。

解釋點

注解 解釋
@Controller 把用戶提交來的請求通過對URL的匹配,分配個不同的接收器,再進行處理,然后向用戶返回結果
@ResponseBody 將方法返回值綁定到 Web 響應主體
@RestController @ResponseBody和@Controller組合注解,用於返回JSON字符串
@RequestMapping 用來處理請求地址映射的注解
@GetMapping 等價於@RequestMapping(value = "",method = RequestMethod.GET)就是使用Get方法提交

使用Spring initializr快速創建

使用maven創建還是比較麻煩的,我們使用Spring initiallizr創建。

第一步:

右上角file->new->project-->spring initializr->next,這種方式1是在聯網情況下創建的,defaule就是springboot的默認網址。
image

第二步:

點擊完next之后可以看到這個界面有Group組名,Artifact項目名。java version java版本,description項目描述,package包名。然后點擊next

image

第三步:

在這個界面我們可以選擇springboot版本,和直接加入依賴,我們在這里直接加入web依賴spring web和Template的Thymeleaf依賴,點上對勾后可以在最右邊里看到你選擇的依賴。然后點擊next。
image

第四步:

之前設置完了,在這里可以直接點擊finish,這樣就創建了一個sprigboot項目。
image
我們可以看到我們的項目結構,很多springboot都幫我們創建了。
image

最后

我們和上面一樣,創建HelloController類,並且在templates里面創建一個hello.html文件。
HelloController代碼

package com.hjk.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
}

最后運行程序,訪問"http://localhost:8080/hello" ,成功;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM