2

前言

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

创建工程与安装依赖

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


此时的目录结构如下 :

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

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

      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
          <version>1.5.10.RELEASE</version>
      </parent>
    • 然后的加入spring-boot-web程序依赖 ,使成为web项目

      <dependencies>
          <!-- Spring-boot框架主程序 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>4.3.14.RELEASE</version>
          </dependency>
      </dependencies>
    • 加入tomcat的组件的依赖 ,可以进行自动编译并运行

      <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 ,该文件就是启动文件
写入以下内容 :

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的文件
在文件中写入 :

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

此时的目录结构

.
├── 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

完结


Alex
112 声望11 粉丝