以前在项目中,多多少少接触了一些SpringMVC,但是没有系统的学习过,知识太过于零散,最近正好打算抽空复习一下这边的知识。在搭建项目时,发现SpringMVC的各种包太凌乱了,一个完整的项目需要各种配置文件以及各种依赖Jar包,有的甚至很难说出具体的功能。正考虑着吐槽一番,忽然发现了Spring Boot,完全符合Convention Over Configuration的思想,而且和现在倡导的微服务思想感觉很契合,更重要的是入门快速简单,可以让我们这些Spring菜鸟迅速地进行开发。
废话不多说了,直接进入正题,如何快速的开始一个Spring Boot应用呢?如果你使用idea,那就没什么废话的了,直接上图
紧接着下一步,你可以自由的选择是实用Maven还是Gradle进行依赖管理(处于对XML的厌恶,我还是选择Gralde吧),也可以选择打包方式Jar/War
接下来这里!爽爆了,哪里想用点哪里,So easy。(Web当然是必选的了,其余的就看你的具体需求了,不过Actuator不错,可以反馈系统状态,之后有时间会详细介绍)
项目生成之后,如果你的打包方式选择的是Jar,那么直接运行XXApplication的main方法即可;如果选择的是war,那么配置一下tomcat运行就可以了,相信不需要多废话。如果是Jar方式,想打成War包,只需要做一点改动即可。
首先需要实现SpringBootServletIntializer接口,如下所示:
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
其次,如果使用Gradle的话,需要增加war插件:
apply plugin: 'war'
最后需要增加运行时的依赖:
configurations {
providedRuntime
}
dependencies {
.......
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
......
}
接下来,就自己实现Controller体验一下运行效果吧!
当然,既然使用了Gradle和Maven,自然少不了命令行打包与运行。
- gradle
- 打包:gradle build(生成相应jar包与war包)
- 运行:gradle bootRun(自动运行jar包)
- maven
- 打包:mvn package(生成相应jar包与war包)
- 运行:mvn spring-boot:run(自动运行jar包)