Spring Boot工程可以通过很多方式来创建,最通用的方式莫过于使用Maven了,因为大多数的IDE都支持Maven。

创建Maven工程

使用IntelliJ IDEA创建Maven工程

开发第一个springboot程序_spring boot

添加依赖首先添加spring-boot-starter-parent作为parent,代码如下:

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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>
    <groupId>com.shrimpking</groupId>
    <artifactId>springboot-04</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

spring-boot-starter-parent是一个特殊的Starter,提供了一些Maven的默认配置,同时还提供了dependency-management,可以使开发者在引入其他依赖时不必输入版本号,方便依赖管理。Spring Boot中提供的Starter非常多,这些Starter主要为第三方库提供自动配置,例如要开发一个Web项目,就可以先引入一个Web的Starter.

编写启动类

接下来创建项目的入口类,在Maven工程的java目录下创建项目的包,包里创建一个App类,代码如下:

开发第一个springboot程序_java_02

App.java

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

/**
 * @author user1
 */
@EnableAutoConfiguration
@ComponentScan(basePackages = "controller")
public class App
{
    public static void main(String[] args)
    {
        SpringApplication.run(App.class,args);
    }
}

代码解释:

• @EnableAutoConfiguration注解表示开启自动化配置。由于项目中添加了spring-boot-starterweb依赖,因此在开启了自动化配置之后会自动进行Spring和Spring MVC的配置。

• 在Java项目的main方法中,通过SpringApplication中的run方法启动项目。第一个参数传入App.class,告诉Spring哪个是主要组件。第二个参数是运行时输入的其他参数。

接下来创建一个Spring MVC中的控制器——HelloController,代码如下:

HelloController.java

package controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author user1
 */
@RestController
public class HelloController
{
    @GetMapping("/hello")
    public String hello()
    {
        return "hello,my first springboot";
    }
}

在控制器中提供了一个“/hello”接口,此时需要配置包扫描才能将HelloController注册到Spring MVC容器中,因此在App类上面再添加一个注解@ComponentScan进行包扫描。也可以直接使用组合注解@Spring BootApplication来代替@EnableAutoConfiguration和@ComponentScan。

application.properties

server.port=8099

直接运行main方法

开发第一个springboot程序_java_03

 

开发第一个springboot程序_spring_04

开发第一个springboot程序_intellij-idea_05