horshoo
horshoo
发布于 1个月前

SpringBoot入门示例教程

创建Maven POM文件

在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>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.7.RELEASE</version>
    </parent>

    <!-- Add typical dependencies for a web application -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <!-- Package as an executable jar -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Spring boot 提供了很多有用的starter包,帮助我们构建Spring Boot应用。

spring-boot-starter-parent为我们提供下面功能:

  1. dependencies manager,管理Spring boot的相关依赖,这样我们在依赖其他spring boot的相关包时,可以去掉版本。
  2. 资源过滤
  3. 插件配置
  4. 针对application.properties/application.yml以及相关环境的application-xxx.properties/application-xxx.yml的资源过滤

spring-boot-starter-web为我们集成了tomcat插件以及Spring MVC。创建代码

创建代码结构如下:

com
 +- example
     +- myproject
         +- Application.java
         |
         +- web
             +- HomeController.java

应用主类Application.java

package com.example.myproject;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

spring boot默认是打包成一个可执行的jar包,和其他java程序一样,我们需要自己写一个主类来作为程序的入口。

应用启动SpringApplication.run(),其中参数为启动类。

@Configuration:设置Application为主配置类

@EnableAutoConfiguration:这是为了能够根据jar包的依赖自动配置Spring应用,例如依赖于spring-boot-starter-web,因为spring-boot-starter-web包含了tomcat 插件以及Spring MVC,系统就会自动配置如tomcat的端口等等。

@ComponentScan:启动自动扫描组件功能

@RestController
public class HomeController {

    @GetMapping("/")
    String home() {
        return "Hello World!";
    }
}

这是一个简单的Restful Controller。

启动

IDE

如果是eclipse或Intellij这些IDE,那么直接执行Appication类的main方法即可

Maven

我们在pom里添加了插件spring-boot-maven-plugin,使用maven启动:

$ mvn spring-boot:run

可执行包

如果达成了可执行包,启动如下:

java -jar target/myproject-0.0.1-SNAPSHOT.jar

启动后,在浏览器输入 http://localhost:8080 访问。