5

搭建一个属于自己的springboot项目 - 良工说技术

 1 year ago
source link: https://www.cnblogs.com/teach/p/17454124.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、确定环境

最近公司要上个新系统,指定由我来带两个人进行开发,既然是新项目,那么项目搭建的事就落到我的头上了。现在都是使用springboot进行开发,为此我搭环境使用的是springboot,具体java环境如下,

985599-20230603135842232-81705798.png

使用springboot的版本是2.3.3.RELEASE。使用maven进行项目管理,

985599-20230603140043290-1586886835.png

总结下,我使用到的环境,

JDK:JDK1.8

springboot:2.3.3.RELEASE

maven:3.8.1

好了,使用的环境就是上面这些。搭建项目框架的第一步就要确认好使用的环境,而且要和团队成员沟通好项目环境,大家的环境一致,避免开发过程中因为环境产生问题。确认环境另一个好处是在部署的时候,减少开发和部署环境不一致。这个一定要注意生产环境,务必开发和生产使用同一套环境。

二、确定项目结构

现在后端开发都是基于springboot的web项目,web项目一般都是使用MVC的模式,所以这里也采用类似的模式。在项目maven结构组成上,采用父子项目,也就是一个主项目下有多个子module,分为下面几个,

p-admin

     p-web --》负责项目启动

     p-facade  --》控制层,写controller

     p-service --》服务层,具体的业务处理

     p-dao --》持久化层,负责和数据库打交道

     p-common --》公共层,util类\入参、出参等

     p-api --》提供给第三方的接口

大体的项目结构给出来了,下面看子项目间的依赖关系哈,

    p-web依赖于p-service、p-common

    p-service依赖于p-dao、p-common

    p-api依赖于p-common

其他的依赖第三方的库暂时不看,下面再说。接下来就可以进行实际操作创建项目了。

三、创建项目

3.1、创建父项目(p-admin)

这里使用maven的父子项目结构,父项目是这样创建的,

在idea中file-->new-->project出现下面的界面,直接next就好,

985599-20230603143416258-345517884.png

到下面的界面,填写上项目名称p-admin,

985599-20230603143740052-1050967463.png

最好点finish即可,这样项目便创建完成,创建完成后,项目文件夹下会有一些多余的删除即可,只保留pom.xml。可删除的有src文件夹等。

紧接着创建子项目。

3.2、创建子项目

在父项目p-admin文件夹下右键,new-->Module

985599-20230603144119161-1113943887.png

显示的创建界面和父项目是一样的,

985599-20230603144157147-920987011.png

写上相应的子项目名称p-web、p-facade等即可。

这样父子项目结构就创建完成了,如下图

985599-20230603144326305-1788190430.png

四、配置pom文件

4.1、父pom文件

创建完项目后,有个很重要的事情,那就是配置pom文件,关注pom文件总的打包方式、依赖关系两个方面。先看父项目的pom.xml

每创建一个子项目在父pom中就会多一个配置,

985599-20230603151036568-1400344166.png

在父pom中有多个子module。

由于使用的springboot的环境,这里我引入一个父引用,

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
    </parent>

引入这个的好处是可以使用其内的依赖,看下spring-boot-starter-parent中的内容,可以看到其中还有一个父引用,

985599-20230603151700114-1303654550.png

从该引用名称中知道其中定义了spring-boot的依赖,可以看到定义了很多依赖,

985599-20230603151837306-1592759571.png

所以,使用了spring-boot-starter-parent的项目中,可以直接使用相关依赖,不用关心版本号。

在p-admin的pom文件中还要定义其子模块的依赖,以及p-admin使用的但不在spring-boot-starter-parent中定义的依赖,这样子模块要使用的时候也不用关心版本号。

985599-20230603152200360-835551019.png

4.2、子pom文件

看下p-facade子项目中的pom文件。

985599-20230603152459485-1265513142.png

五、启动项目

前面说到p-web项目用来启动项目的,看下启动类,

package com.wcj.my;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 启动类
 * @date 2023/6/03 17:04
 */
@MapperScan(basePackages = "com.wcj.my.mapper")
@SpringBootApplication()
public class StartSpringbootApplication {
    public static void main(String[] args) {
        SpringApplication.run(StartSpringbootApplication.class,args);
    }
}

这样就可以了,另外spring-boot有配置文件,application.yml或application.properties文件,这里使用application.yml文件,

server:
  port: 8085

现在启动看下,

985599-20230603155416691-1397497474.png

可以看到启动的线程ID是26352,在8005端口提供web服务,并且还有一个内部的线程池:applicationTaskExecutor。

这样一个项目就搭起来了。

总结下,搭建一个项目的一些必备步骤,

1、确定项目环境;

2、确定项目结构

3、项目搭建及测试;

在搭项目的过程中,每个人都会或多或少遇到一些坑,欢迎关注下方公众号交流。另源码也可以通过公众号获取。

985599-20230603160520056-1951339203.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK