從0搭建SpringBoot的HelloWorld -- Java版本

前言

之前老是利用start.spring.io建立spring-boot工程來使用 ,只知其然不知其因此然
今天從0搭建一個基於mvnen的spring-boot的helloworld項目

建立工程與安裝依賴

  • 利用eclipse或IDEA等IDE建立一個Mvnen工程 ,一路NEXT便可


此時的目錄結構以下 : java

.
├── mymvn.iml
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        └── java
  • 修改pom.xml,安裝spring-boot

    • 首先在pom.xml中加入parent ,繼承spring的主程序和一些依賴web

      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
          <version>1.5.10.RELEASE</version>
      </parent>
    • 而後的加入spring-boot-web程序依賴 ,使成爲web項目spring

      <dependencies>
          <!-- Spring-boot框架主程序 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>4.3.14.RELEASE</version>
          </dependency>
      </dependencies>
    • 加入tomcat的組件的依賴 ,能夠進行自動編譯並運行apache

      <dependencies>
          <!--
              Spring-boot 的web主程序 ,包含tomcat等
              此依賴能夠不安裝 ,可是Spring-boot啓動後不會開啓tomcat監聽
           -->
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
              <version>1.5.10.RELEASE</version>
          </dependency>
      </dependencies>
  • 此時的pom.xml全貌
<?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>test</groupId>
    <artifactId>mymvn</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>1.5.10.RELEASE</version>
    </parent>

    <dependencies>
        <!-- Spring-boot框架主程序 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.14.RELEASE</version>
        </dependency>

        <!--
            Spring-boot 的web主程序 ,包含tomcat等
            此依賴能夠不安裝 ,可是Spring-boot啓動後不會開啓tomcat監聽
         -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.5.10.RELEASE</version>
        </dependency>
    </dependencies>
</project>
  • 這時候完整的spring-boot依賴就配置完了 ,使用IDE安裝全部依賴便可

建立Spring-boot入口類

在/src/main/java建立一個名爲app的包 ,而後在app中建立一個類文件Bootstrap.java ,該文件就是啓動文件
寫入如下內容 :tomcat

package app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

/** 
 *    自動掃描所與包類
 *    若是參數 basePackages = "包名" ,那麼就只掃描這個包內的類
 *  不參數則是掃描全部的
**/
@ComponentScan
// 聲明該類是工程入口類
@SpringBootApplication
public class Bootstrap {
        
    // 入口方法
    public static void main(String args[]){

        SpringApplication.run(Bootstrap.class ,args);
    }
}

Hello World

在app包中建立一個名爲controllers的包 ,並在包裏建立一個名爲HelloController.java的文件
在文件中寫入 :app

package app.controllers;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 聲明本類爲Restful風格
 * 全部的方法的返回值都會被處理成JSON
 */
@RestController
public class HelloController {

    // 簡單的理解爲路由
    @RequestMapping("/")
    public String index() {
        return "Hello World";
    }
}

啓動

在入口類中 ,右鍵點擊 Run .... 便可 .eclipse是右鍵 run java Aplication
框架

此時咱們看到tomcat啓動到了8080端口 .至此spring-boot就啓動完成了
eclipse

訪問127.0.0.1

此時的目錄結構

.
├── mymvn.iml
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── app
│   │   │       ├── Bootstrap.java
│   │   │       └── controllers
│   │   │           └── HelloController.java
│   │   └── resources
│   └── test
│       └── java
└── target
    ├── classes
    │   └── app
    │       ├── Bootstrap.class
    │       └── controllers
    │           └── HelloController.class
    └── generated-sources
        └── annotations
14 directories, 6 files

完結

相關文章
相關標籤/搜索