SpringBoot零基础入门初级篇(二)
1.SpringBoot简介
1.1 SpringBoot特点
- 微框架,与spring4一起诞生,比如@RestController
- 可以快速上手,整合了许多开源框架和第三方库
- 基于spring,入门很快
- springboot可以创建独立运行的程序而不依赖于容器,不需要打成war包,就可以放入tomcat中直接运行。
- 提供maven极简配置,但缺点是会引入很多不需要的包。
- 根据项目来依赖配置spring。
- 可视化。
- 简化配置,不用看过多的xml。
- 为微服务springcloud铺路。
1.2 SpringBoot使用场景
- 有spring的地方都行。
- J2EE/web项目。
- 微服务。
2. 项目部署
Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?
通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。
2.1 用 JAR的方式运行SpringBoot项目
2.1.1 利用IDEA打包JAR包
- 双击install打包,命令行下方会出现打包完毕后JAR包的存储位置。我一般会把整个文件拷贝出来放在一个固定目录下,我的文件位置为D:\project3\springboot\0.0.1-SNAPSHOT\springboot-0.0.1-SNAPSHOT.jar。
2. 运行时我采用命令行的方式,先进入目录D:\project3\springboot,
接着输入
java -jar 0.0.1-SNAPSHOT\springboot-0.0.1-SNAPSHOT.jar
3. 浏览器输入
http://127.0.0.1:8080/helloworld/sayhello
回车,可发现jar包成功运行。
注意:
实际上,也可以用命令行打包JAR包,如下:
安装命令mvn install
运行命令:java -jar target/springboot-0.0.1-SNAPSHOT.jar
幸得大哥提醒,可以直接用IDEA的Terminal执行命令,(大哥无时不刻不在视监我的博客,手动捂脸) ,如下。
2.2.1 用 WAR的方式运行SpringBoot项目
- 修改SpringbootApplication的代码
原代码如下:
package com.project3.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
新加@ServletComponentScan注解,并且继承SpringBootServletInitializer
修改后代码:
package com.project3.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
@ServletComponentScan
public class SpringbootApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringbootApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
- 修改pom文件
spring-boot-starter-tomcat修改为 provided方式,以避免和独立 tomcat 容器的冲突.
表示provided 只在编译和测试的时候使用,打包的时候就没它了。
3. 使用mvn clean package
创建war包
可见,target目录下生成了war包,
4. 重命名 war 包,然后部署
- 重命名为springboot.war,将其放入tomcat的webapps目录下。
- 实际上也可以更名为ROOT.war,且删除同名的文件夹,这样再用浏览器访问时不用加springboot(与文件名有关)的路径。
5.启动并运行
- 打开tomcat,并启动
- 测试,在浏览器中输入:
http://localhost:8080/helloworld/sayhello
也可以这么运行,
注意:
使用命令行运行不容易错,直接启动tomcat运行,不知道为什么总是无法成功显示。
3. SpringBoot构造并返回json对象
-
@RestController=@Controller+@ResponseBody
这一点要注意!!!
-
@JsonIgnore
-
@JsonFormat
-
@JsonInclude(Include.NON_NULL)