SpringBoot 2.0项目的建立与部署时遇到的一些坑 还有一些用到的小插件
Spring Boot简介
为什么要用Spring Boot?
Spring Boot是一个用来快速建立项目,简化Spring开发的框架。核心为六个字:约定大于配置
既然大部分情况下框架配置都是相同的,那么为何还要写那么多各种各样的xml配置文件呢?
于是就有了Spring Boot来简化项目的配置。
创建项目前的一些环境要点
配置Spring Boot版本为2.1.5版;Spring Boot在2.0版本进行了一些大的更新,环境需求有着很大的变化,下面列一些相关的环境要求:
JDK:JAVA版本1.8以上,不在支持1.6、1.7;本文章用的是1.8.0_211
Tomcat:版本不低于8.5;本文章用的是 9.0.14
创建项目
IDEA提供了快速建立Spring Boot项目的功能:File>new>project>Spring Initializr
配置项目路径等基本内容
这里选择Web>Spring Web Starter,网上有很多这里选择的是Web>Web 是老版的,新版的改叫Spring Web Starter
还可以根据数据库不同,在SQL里选择对应的数据库,笔者是使用的MySql
输入项目名和路径后点击Finish,项目就建立完成了
启动项目
在application中配置数据库链接、项目名及端口号
spring: datasource: url: jdbc:mysql:// username: admin password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver server: port: 8099 servlet: context-path: /demo
有@SpringBootApplication注解的为SpringBoot启动类,直接运行main方法即可完成SpringBoot项目的启动:
写一个测试controller进行测试:
@RestController @RequestMapping public class TestController { @GetMapping("/test") public String test(){ return "Hello 咋瓦鲁多"; } }
输入地址,访问成功
其他事项
一些细节上的配置以及插件
- 在File>Settings>Build,Execution,Deployment>Build Tools>Maven 中配置本地Maven仓库
- 主要配置文件为resources下的application.properties,建议修改成.yml文件,使用yml语法,具体请参考https://www.jianshu.com/p/3ed987878cbf
- 可以使用lombok插件来简化开发,在File>Settings>Plugins下,搜索Lombok进行插件安装;然后在pom.xml中配置
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency>
可以使项目中的类无需写Getter 和Setter
整合MybatisPlus
SpringBoot与MybatisPlus的整合详见我的另一篇文章:从零开始配置MybatisPlus
里面也用到了lombok插件
打包部署时遇到的问题
IDEA如何打包在网上的说法有很多种,很多都是以前版本的打包方法,不适合当前版本(2.1.5),使得笔者走了很多弯路
在这里,推荐使用Maven进行项目打包,迅速并且简便
通常来说,使用Spring Boot打的包都是jar包;但由于笔者的项目需要部署在Docker中,所以需要打war包
1.如何打war包?
在pom.xml中配置
<packaging>war</packaging>
然后选中IDEA右边的Maven>Lifecycle
打包时请先停止项目并且先双击clean清除掉之前编译的内容;
clean完成后,双击package,Maven就会自动帮忙打包了。
打包完成后,war包会在项目根目录下的target文件夹中,可通过pom.xml配置自定义打包后的war包名称
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <finalName>demo</finalName><!-- 打包后的war名称--> </configuration> </plugin> </plugins> </build>
2.打包后把war包放在tomcat中,启动tomcat无法识别出项目该怎么办?
需要修改Spring Boot的启动类Application中的代码:
继承 SpringBootServletInitializer类然后重写SpringApplicationBuilder方法
@SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(DemoApplication.class); } }
如此,部署的配置就完成了,把war包放入tomcat中可以成功被识别并编译
- springboot项目打成war包部署到tomcat遇到的一些问题
- linux下部署springboot项目用到的一些命令
- 【死磕springboot2.0】idea中springboot项目进行热部署配置。
- 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行
- 搭建Spring boot2.0项目+Mybatis+Mybatis Generator+Druid+PageHelper+JSP+热部署——附官方Demo
- springboot项目配置多环境打包部署遇到的问题总结
- goalng学习 ,以及在部署Springboot项目时遇到的问题
- springboot2.0项目发布外部tomcat7 踩过的一些坑
- 在本地tomcat中调试Spring boot项目遇到的一些问题
- Spring Boot项目打包部署云平台
- SpringBoot项目war包部署tomcat8
- SpringBoot+idea项目热部署配置
- Spring boot项目部署
- SpringBoot项目打包部署外部JavaEE容器
- IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法
- Spring Boot2.0之热部署原理
- 基于maven的spring boot项目 部署到tomcat出现js文件失效处理思路总结
- 在idea里面如何对spring boot项目进行热部署
- spring boot项目中使用spring-boot-devtools模块进行代码热部署,避免重新启动web项目
- 用springboot部署一个p2p项目