Spring Boot工程可以通过很多方式来创建,最通用的方式莫过于使用Maven了,因为大多数的IDE都支持Maven。
创建Maven工程
使用IntelliJ IDEA创建Maven工程
添加依赖首先添加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类,代码如下:
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方法