一、手把手教你創建springBoot項目

之前就接觸過springboot作爲框架的項目,但是不是我自己搭建的,當時看了一下結構,和spring項目比,springboot採用註解方式簡化了配置,廢話不多說,咱們就手動搭建一個簡單的springboot項目。

注意:現在springboot幾個新版本都是基於JDK1.8的,所以我接下來的幾篇文章的講解,也全部圍繞JDK1.8來。

我先講怎麼利用eclipse工具常規的創建一個spring項目,考慮到有些小夥伴急切的想創建一個最簡單的項目,我會在再講一種快速創建springboot項目的方式!

 

搭建過SSM框架的小夥伴可能心裏有會感受,就是各種配置比較多:spring本身的配置,springMVC的配置,還有jdbc數據源的配置等等,如果沒有搭建過SSM框架的小夥伴,建議你自己搜一搜搭建過程,然後有對比性的看springboot的搭建過程,這樣有助於學習。

 

一,先創建一個springboot的maven項目

1.這裏我是用的工具是eclipse,所以我們要先下載一個插件(STS),HELP---eclipse Marketplace ,search中搜索 STS,結果見下圖:

然後點擊安裝就好了,一路next知道完成。完成後重啓一下就好!

 

2.安裝好了STS插件,就來創建項目:

在項目空白處右鍵:new--project,然後搜索spring選擇如下:

x

下一步:

注意:一般我們建立web項目,一定要選擇war!!!要不然後面自動生成的pom文件中沒有spring-boot-starter-web!!

下一步:

選擇需要的Dependency,然後點擊finish

在這裏我選了MySQL 和mybatis和web  三個依賴,然後點擊完成。如果是JDBC或者Oracle,你可以自行選擇數據庫驅動。

等待創建項目,要等一段時間,因爲在下載jar。

下面是項目的主要結構:

大家可以打開pom文件,可以看到以下幾個部分:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

<!--web應用基本環境配置,支持全棧式Web開發,包括Tomcat和spring-webmvc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<!--引入了Spring Boot默認的HTTP引擎Tomcat-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

<!--支持常規的測試依賴,包括JUnit、Hamcrest、Mockito以及spring-test模塊-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <!-- mybatis依賴 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        
        <!-- mysql依賴 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        
        
    </dependencies>

    <build>
        <plugins>

<!-- spring-boot-maven-plugin插件就是打包spring boot應用的 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
 

PS:更多的依賴我會在後面的章節中給大家講解,目前的上述幾個配置能滿足我們最低的要求了。

接下來我們創建一個簡單的controller;

 

然後啓動,那怎麼啓動呢?看上圖的DemoApplication.java,這個類是springBoot的啓動類:

看到裏面的main函數,右鍵--run as--Spring boot App,就開始啓動了,結果報錯了,如下:

這是因爲我們在創建項目的時候添加了數據庫驅動依賴(MySQL),當項目啓動的時候,springboot就會創建數據源,但是我們又沒有做任何的數據源連接配置,解決方式:

(1)把pom文件中的數據庫依賴註釋掉;(我們可以暫時不用連接數據庫)

(2)讓springBoot啓動的時候不去自動創建數據源:

改成@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

再啓動就可以了!(如果遇到端口衝突,殺一下進程就好了,參考:https://blog.csdn.net/q343509740/article/details/80821409

注意:我的URL裏沒有添加項目名,爲什麼呢?有很多人剛接觸springboot做測試時候,在訪問的時候肯定加上了項目名稱,結果肯定是404。

答案:

SpringMVC的運行方式是將打成的war包放到tomcat中運行,這種情況下訪問需要在url中加入項目名。SpringBoot同樣可以打成war包部署,但也提供了另一種方式:直接執行public static void main()函數並啓動一個內嵌的應用服務器(取決於類路徑上的依賴是Tomcat還是jetty)來處理應用請求,這時是不需要添加項目名的。
 

 

====================================快速創建簡單的springboot項目===================================

maven構建項目

  • 1、訪問http://start.spring.io/
  • 2、選擇構建工具Maven Project、Spring Boot版本2.1.1以及一些工程基本信息,點擊“Switch to the full version.”java版本選擇1.8,可參考下圖所示:
  • 3、點擊Generate Project下載項目壓縮包
  • 4、解壓後,使用eclipse,Import -> Existing Maven Projects -> Next ->選擇解壓後的文件夾-> Finsh,OK done!

項目結構介紹

 

Spring Boot的基礎結構共三個文件:

  • src/main/java 程序開發以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 測試程序

另外,spingboot建議的目錄結果如下:
root package結構:com.example.myproject

com
  +- example
    +- myproject
      +- Application.java
      |
      +- domain
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  • 1、Application.java 建議放到根目錄下面,主要用於做一些框架配置
  • 2、domain目錄主要用於實體(Entity)與數據訪問層(Repository)
  • 3、service 層主要是業務類代碼
  • 4、controller 負責頁面訪問控制

採用默認配置可以省去很多配置,當然也可以根據自己的喜歡來進行更改
最後,啓動Application main方法,至此一個java項目搭建好了!

引入web模塊

1、pom.xml中添加支持web的模塊:

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

pom.xml文件中默認有兩個模塊:

spring-boot-starter :核心模塊,包括自動配置支持、日誌和YAML;

spring-boot-starter-test :測試模塊,包括JUnit、Hamcrest、Mockito。

2、編寫controller內容:

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

@RestController 的意思就是controller裏面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!

3、啓動主程序,打開瀏覽器訪問http://localhost:8080/hello,就可以看到效果了,有木有很簡單!

 

 

==========好了,學習到這裏是不是覺得springBoot很簡單啊,但是有很多細節一定要理解===========

1.DemoApplication這個類(名稱可能有所區別,這個是啓動類)一定要在目錄的最上層,或者你的controller,service等代碼的目錄層級一定要比DemoApplication的目錄要低,也可以同級!爲什麼?

答案:因爲springBoot之所以簡單,就是因爲DemoApplication這個啓動類,可以當做是一個spring容器!當這個類的main執行,它會按照規則加載它下面的所有東西並進行管理!其實和spring的道理一樣。

大家可以試試,如果把我們剛建立的controller轉移到DemoApplication的上級目錄或者上級目錄的子目錄中,你再去訪問就會404!

2.因爲springBoot默認使用了自帶的tomcat,默認的端口8080,很多時候會和別的項目端口衝突,這時候我們可以修改端口,很簡單,我們下一章會講到;

3.如何去配置項目的數據源,相比於spring,也很簡單,關於配置的問題,我們在第三章(https://blog.csdn.net/qq_32317661/article/details/85784923)會講到!

那麼接下來第二章,我們講一下,替換springboot自帶的tomcat,使用我們自己的tomcat容器發佈項目,地址:

https://blog.csdn.net/qq_32317661/article/details/85708032

如果你需要創建springboot+maven的父子級項目,請看我這篇文章

https://blog.csdn.net/qq_32317661/article/details/102967216

 

江湖險惡,我從來都不輕易留下我的名字------周星馳

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