前言

以前总是利用start.spring.io创建spring-boot工程来使用 ,只知其然不知其所以然
今天从0搭建一个基于mvnen的spring-boot的helloworld项目

创建工程与安装依赖

  • ** 利用eclipse或IDEA等IDE创建一个Mvnen工程 ,一路NEXT即可 **

** 此时的目录结构如下 : **

1
2
3
4
5
6
7
8
9
.
├── mymvn.iml
├── pom.xml
└── src
├── main
│   ├── java
│   └── resources
└── test
└── java
  • 修改pom.xml,安装spring-boot

    • 首先在pom.xml中加入parent ,继承spring的主程序和一些依赖
      1
      2
      3
      4
      5
      <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>1.5.10.RELEASE</version>
      </parent>
    • 然后的加入spring-boot-web程序依赖 ,使成为web项目
      1
      2
      3
      4
      5
      6
      7
      8
      <dependencies>
      <!-- Spring-boot框架主程序 -->
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.14.RELEASE</version>
      </dependency>
      </dependencies>
    • 加入tomcat的组件的依赖 ,可以进行自动编译并运行
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      <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全貌

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?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 ,该文件就是启动文件
写入以下内容 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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的文件
在文件中写入 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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就启动完成了 **

访问127.0.0.1

此时的目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.
├── 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

完结