上圖中我通過標註的形式介紹了幾個基本的結構,現在我們介紹幾個主要目錄:
-
/src/main下面是主要的代碼文件和網頁模板。
-
Java下是邏輯控制、數據表Model等代碼。resource裏是靜態資源,其中static裏是CSS、JS等。template裏就是HTML模板啦~
現在開始寫第一個Hello World~看下圖:
上圖中的com.example是一個包名,爲了代碼可讀性高,我們會使用MVC的開發模式,在com.example這個包下面,再新建幾個包,分別用來寫不同的代碼。需要新建的包如下:
-
controller包:用來寫控制器代碼,控制器對應不同的請求,是網絡請求的第一層。
-
model包:裏面每個class可以對應一個數據表,當你寫好class,並且運行工程時,Springboot和Hibernate會自動爲你在數據庫裏創建表。
-
repository包:這裏封裝了所有對數據表的增刪改查操作。以後你需要操作數據庫,其實就是使用這裏的接口。
-
service包:比如把登錄、註冊等一個完整的邏輯,封裝爲一個service,供controller調用,可以極大地簡化開發,同時代碼也具有更高的可讀性。
下面,讓我們來建立這四個包吧~在com.example這個包上右鍵,然後new一個包出來。如圖所示:
我這裏創建好包名後,目錄結構是這樣的:
好了,到這一步,我們終於可以開始寫代碼啦~~~在本文裏,我們將不會用到service、model、repository,只會用到controller來寫一個簡單的Hello World。讓我們開始寫吧:
首先,在controller這個包上點擊右鍵,新建一個class,名字就叫nana,如下圖所示:
建立好文件後,我們在這個文件裏輸入以下的代碼:【注意,如果沒有嚴格按照前面的教程來,你的包名可能和我的不一樣,所以這個代碼複製過去後,請自己檢查一遍!】
package com.example.controller;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by longge93 on 16/4/14.
*/
@RestController
@EnableAutoConfiguration
public class nana {
@RequestMapping(value="/",method = RequestMethod.GET)
public String index(){
return "Hello World~";
}
}
然後我們來運行以下我們的工程,運行方法如下圖所示:
如上圖所示,點擊那個三角形,就可以運行我們的工程了。不過,所有寫代碼的過程都是不順利的~~雖然我們點了運行,但是下面的控制檯裏卻提示我們運行失敗了,從上圖的下面看出,是hibernate出錯了。爲什麼呢?因爲我們在Maven裏包含了MySQL的jar包,但是卻沒有配置數據庫連接需要的賬號和密碼等信息。所以hibernate會報錯~~因爲我們這篇文章裏,只是爲了輸出hello world,用不着數據庫。所以我們先去pom文件裏註釋掉數據庫相關的jar包應該就OK了。我註釋完後,我的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> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-data-jpa</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-jdbc</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-redis</artifactId>--> <!--</dependency>--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--<dependency>--> <!--<groupId>mysql</groupId>--> <!--<artifactId>mysql-connector-java</artifactId>--> <!--<scope>runtime</scope>--> <!--</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>
然後我們再點擊那個三角形運行,你會發現運行成功啦~~如下圖所示:
因爲Springboot其實已經自帶Tomcat了,所以當我們把這個工程跑起來後,其實就相當於跑起來一個網站。現在讓我們去網頁裏看看我們的Hello World有沒有正常工作吧~
在瀏覽器裏,打開http://localhost:8080,你會發現輸出了Hello World~~
轉載博客:http://blog.poolye.com/