1.开发之前
其实springboot只是换了一种代码组织方式,还是spring的东东,所以要善于接收新的东西,就好像使用配置文件来实例化spring的bean,和使用注解来实例化spring的bean是一样的。所以,思维观念要首先改变,从宏观角度有个理解。以下正式开始开发springboot,这里使用maven构建。
2.添加springboot依赖
springboot使用 org.springframework.boot 作为groupId,来管理一系列的starter组件,你只需要声明需要的starter组件,其余的依赖全部由springboot来组织管理。通常添加springboot依赖有两种形式:
1继承于spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.10.RELEASE</version>
</parent>
2使用dependency management
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.10.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
3.开发一个controller
controller是spring web的东东,我们需要声明一个web starter依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class HelloApp {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApp.class, args);
}
}
代码如上,我们习惯把springboot启动类放到根包下,作为全局入口,也便于全包扫描。其中,RestController和RequestMapping都是spring MVC的注解,另一个**
EnableAutoConfiguration**是告诉springboot启动自动配置,springboot将会根据你声明的依赖包进行最大化的自动配置,比如我们加了 spring-boot-starter-web springboot帮我们引入了内置的tomcat,spring MVC,自动配置会猜测我们要部署一个 web 项目,执行main方法时默认会启动tomcat。当然,你可以认为的排除非必须的依赖,springboot会最大化的自动配置项目。
4.启动springboot
run上述main函数,可以看到控制台日志,springboot在端口8080处启动了内置的tomcat服务器,我们在浏览器访问http://localhost:8080/,看到如下响应:
5.可执行的jar
现在我们使用maven进行package,打出的包是不能直接运行的,因为只有自己代码的class,并没有把相关依赖打进来。我们需要的是一个可执行的jar包,就如同很久以前的war包一样,这里的jar的概念其实是一个 fat jar,所以我们需要把依赖jar还要自己的代码jar融入到一个新的jar中。这里需要使用springboot为我们提供的插件工具,这样打出的就是一个可以执行的fat jar,可以自行解压看下jar里的东东。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
6.结束语
这就是最简单的springboot项目,我们就是在这个基础上添加增删改查,添加中间件服务,添加业务代码,其实很简单。