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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值