Springboot的第一個Hello World程序

首先大概介紹一個Intellij爲我們生成的目錄結構:

上圖中我通過標註的形式介紹了幾個基本的結構,現在我們介紹幾個主要目錄:

  1. /src/main下面是主要的代碼文件和網頁模板。

  2. Java下是邏輯控制、數據表Model等代碼。resource裏是靜態資源,其中static裏是CSS、JS等。template裏就是HTML模板啦~


現在開始寫第一個Hello World~看下圖:

上圖中的com.example是一個包名,爲了代碼可讀性高,我們會使用MVC的開發模式,在com.example這個包下面,再新建幾個包,分別用來寫不同的代碼。需要新建的包如下:

  1. controller包:用來寫控制器代碼,控制器對應不同的請求,是網絡請求的第一層。

  2. model包:裏面每個class可以對應一個數據表,當你寫好class,並且運行工程時,Springboot和Hibernate會自動爲你在數據庫裏創建表。

  3. repository包:這裏封裝了所有對數據表的增刪改查操作。以後你需要操作數據庫,其實就是使用這裏的接口。

  4. 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/



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