spring boot的出现就是为了简化spring项目的构建,让你尽快的上手一个spring项目,并快速的生成一个可执行的spring微服务。
让我们来看看多简单,这里我们直接用spring的IDE,Spring Tool Suite,建第一个restful web服务。
1.在工作空间的右键,直接新建一个spring start project
2.选择构建spring boot 项目的工具,这里我们用maven
3.填好相关空格之后,选择你想构建的spring boot demo项目,这里我们选择web,就是构建springmvc的web服务
4.点击finish,开始生成项目,项目的结构如下以及maven的依赖如下图
5.点开DemoApplication,添加hello world的访问路径
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping(value = {"/",""})
public String helloboot(){
return "hello boot !!" ;
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
6.spring boot 内嵌了一个tomcat,我们可以直接右键,选择Run As Spring boot App或者Java Application来启动我们的web服务
7.到这里就已经启动了一个web服务了,我们在浏览器输入http://localhost:8080/就可以看到hello boot !!
这就是在IDE成功了构建了一个springmvc的项目,然后这是在开发环境下的,如果我们开发完成了,就可以直接打包在生产环境里面跑了,让你看看,有多简单
首先,我们打包成一个可执行的jar文件,直接用maven进行打包
1.点击项目,右键,Run As Maven - > build
输入命令 package进行打包,然后就可以在项目的target刷新一下,就可以生成可执行的jar文件了
接下来你可以把jar文件拷贝到你的服务器,并用java命令行,执行
java -jar jar文件路径,例如:
按如enter建就可以直接跑起web服务了,你可以在浏览器输入
http://localhost:8080/测试,如果报
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedSetContainer.start(TomcatEmbeddedServletContainer.java:159)
有可能就是tomcat的端口冲突了,先杀掉tomcat的端口,再启动
如果你不想生成可执行的jar文件,想生成war包并自己直接放在tomcat容器跑,这样也可以,那就这样操作
1.修改pom.xml,将packing由jar改成war,并添加tomcat的依赖,scope->provided表名,如果打包时,需要内嵌tomcat就自动提供
2.打开DemoApplication ,让他直接继承SpringBootServletInitializer,并重写configure方法,该方法的作用提供类似web.xml的配置服务
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
@RequestMapping(value = {"/",""})
public String helloboot(){
return "hello boot !!" ;
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
好到这里,我们就可以直接右键,Run As - >Maven build..输入package的命令,直接打成war包了,
前前后后发现只用了5分钟左右就可以构建起springmvc的web服务器了,是不是很快,是不是很屌