您的位置:首页 > 编程语言 > Java开发

SpringBoot 2.0项目的建立与部署时遇到的一些坑 还有一些用到的小插件

2019-07-15 17:55 579 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/m0_37779838/article/details/95974685

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中可以成功被识别并编译

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: