后端框架SpringBoot入門


 

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者

一、為何選擇SpringBoot

     眾所周知,后端框架有許多,比如說在之前學習javaweb時候的struts2,以及spring框架,還有python后端的Django框架,以及我們今天要用的SpringBoot框架。
    既然有如此多的后端框架,為什么我們選擇的是SpringBoot呢,下面將告訴你SpringBoot的優點。
SpringBoot的優點有:
  1. 可以創建獨立的Spring應用程序,並且基於其Maven或Gradle插件,可以創建可執行的JARs和WARs;

  2. 內嵌Tomcat或Jetty等Servlet容器;

  3. 提供自動配置的“starter”項目對象模型(POMS)以簡化Maven配置;

  4. 盡可能自動配置Spring容器;

  5. 提供准備好的特性,如指標、健康檢查和外部化配置;

  6. 絕對沒有代碼生成,不需要XML配置。

    所以之前用過其它框架的同學在用SpringBoot后就會發現不需要其它的許多配置,讓我們更加關注我們自身的業務代碼。
    那么,話不多說,用代碼來讓你們感受一下。

二、項目的創建

     首先打開我們的idea集成開發環境,我用的是idea2019,下面是它的啟動界面
640?wx_fmt=png
     然后新建立一個SpringBoot項目
640?wx_fmt=png
     接着填寫項目的名稱,其實需要填寫的就是Group和Artifact,那這兩個是什么意思呢,其實我們觀察下可以發現我們的包的名稱其實就是Group+Artifact的名稱,在實際開發中有GroupId和ArtifactId這個是Maven用來管理包時作為區分的字段,就像地圖上的坐標一樣。假設你有一個域名叫baidu.com,那么你想在這個域名下做一個項目,這個項目的名稱叫hello,那么Group就是com.baidu,域名反過來寫,而Artifact就是叫hello。自然寫完這兩個你的包名(Package)自然就叫com.baidu.hello。點擊Next進入下一步
640?wx_fmt=png
    選擇Web,勾選SpringWeb,這里顯示的版本是2.1.9,我們點擊Next
640?wx_fmt=png
    點擊finish,我們完成項目的創建,然后等待項目的初始化,項目構建成功
640?wx_fmt=png

三、項目目錄結構介紹

     在介紹項目的目錄結構之前,我先介紹幾個概念。
  • Maven倉庫

     在我們之前學習JavaWeb的時候,當我們需要相關的jar包的時候我們就會去相關的網    站上把我們需要的包給下載下來,然后把需要用到的jar包放在我們的WebRoot目錄下WEB-INF目錄下的lib文件夾當中。這種方式我們要自己去找相關的依賴包,然后下載下來,放到指定的位置。這樣顯得比較麻煩,而且浪費時間。
    但是有了Maven倉庫之后,這一切就變得方便許多,我們只需要在pom.xml下寫上相關的依賴,比如說我需要連接mysql數據庫的jar包,那么,我們就需要去pom.xml寫這個jar的名稱,版本,寫好了之后我們的maven工具就會自動的去下載我們需要的jar包,就不需要我們去一個一個找了,這樣方便了許多。
  • Git

     Git是一個版本控制工具和我們所熟知的GitHub是不一樣的,那么這個版本控制工具有什么作用呢?我們在開發項目的時候並不是一個人在開發,而是多人協作共同開發(雖然我們致力於做全棧高手),那么一個項目分為許多模塊,而且模塊之間是有聯系的,那這樣就無法實現協同開發。但是Git就是能夠讓你協同開發的一個工具,它能夠在你的項目出問題后回退到你之前提交的任何一個版本。它能夠實現多人協同開發,比如說,一個項目由A、B、C三個人開發,項目創建好之后A、B、C分別fork這個項目之后就可以寫自己的部分,寫完之后push過去,當有文件沖突的時候通過git的方式解決。Git的使用我推薦看廖雪峰的Git教程。
     好了,介紹完上面的概念之后,我們來開始介紹項目的目錄結構。
     在我們的項目目錄里,src下的main文件夾下放着兩個文件夾,一個文件夾是java文件夾,另外一個文件夾是resources文件夾。resources文件夾用來放固定的文件,比如說圖片文件、html文件,Thymeleaf模板文件等。然后就是java文件夾下放的就是我們源碼,在這里由於我的命名是com.baidu.hello,所以包的名字就是com.baidu.hello。然后就是Test文件夾下的java文件夾,這里可以進行單元測試,然后就是根目錄下的一些文件。
640?wx_fmt=png

 

四、編寫代碼

     首先在pom.xml文件里添加Thymeleaf的依賴,如下:
 
          
<dependency>
    <groupId>org.spring.framework.boot </groupId>
    <artifactId>spring-boot-starter-thymeleaf </artifactId>
</dependency>
     然后在com.baidu.hello下面新建一個叫做Controller的包,然后在這個包里面新建一個HelloController的類,並寫下注解,代碼如下:
 
          
package com.baidu.hello.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 2019.10.9
 */

@Controller
public  class HelloController {
     @GetMapping( "/hello")
     public void hello(@RequestParam(name="name") String name, Model model){
        model.addAttribute( "name",name);
    }
}

 

     然后我們還要在resources文件夾下的templates文件夾下創建hello.html,代碼如下:
 
          
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
     <meta charset="UTF-8">
     <title>Hello World </title>
</head>
<body>
     <p th:text="'Hello,' + ${name} + '!'"/>
</body>
</html>

五、運行結果

    運行 HelloApplication.java之后,打開瀏覽器輸入localhost:8080/hello?name=城南有夢,結果如下:
640?wx_fmt=png
 

 


免責聲明!

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



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