编写版本:v3.5.3
适用版本:所有

业务模块的目录结构

在此文档中会以骨架项目为例来描述IFORM的目录结构。
下图为骨架项目的相关工程,文档会以每个工程的作用及包含何种类型的文件展开。

注意:iform-provider-skeleton-other和iform-provider-skeleton-saas与iform-provider-skeleton结构一致,other和saas就不再赘述了。iform-provider-skeleton-spring-boot-sample与iform-provider-skeleton-spring-boot同理。

iform-provider-skeleton

1、com.ak.iform:
(1)config内为骨架启动初始化配置类。
(2)SkeletonApplication:骨架服务的启动类。
(3)skeleton文件夹:

  • mapper:映射接口文件。
  • provider:controller层,主要负责接受前台的数据和请求,并且在底层处理完之后把结果返回。

2、conf:

内部主要包含不同环境的数据源配置文件和项目配置文件。数据源配置文件的具体使用可以参考这里。

3、config:

(1)application.yml 为IBPS用来定义应用级别的配置文件。应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
系统的配置文件读取、系统环境切换、swagger配置及MQ部分配置等一系列功能在此文件配置。
(2)application-app.yml 为IBPS的环境变量配置文件。iform的各类开关、配置类变量都在该文件中配置。
变量的使用方法有多种。

  • 配置类。

  • @Value注解。

  • 使用IFORM包装的AppUtil.getProperty(),具体使用请查看代码。

(3)application-xxxx.yml。
application-dev.yml、application-test.yml和application-prod.yml分别对应dev,test,prod环境。IFORM不同环境的端口号、端口等参数化配置在此处。

(4)bootstrap.yml
bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
微服务的 注册中心、配置中心、项目名称spring.application.name

以nacos为例:

(5)caffeine.properties
Caffeine 是基于Java 8 开发的、提供了近乎最佳命中率的高性能本地缓存组件。
caffeine.properties为其配置文件。

(6)log4j2.yml
IBPS日志系统的相关配置。

4、i18n:
国际化的相关配置文件,具体使用见骨架代码的例子。

iform-provider-skeleton-api

api:模块的请求API接口层。
其他服务调用该模块的相关接口需要通过API接口层。

iform-provider-skeleton-client

client:模块的client。其他服务调用该服务接口是通过client实现的。
注意:在继承service时,需要加上@FeignClient注解。

iform-skeleton-biz

biz为该模块的业务层。
(1)Dao及其实现类:
dao分为Dao和QueryDao。

Dao(增删改):对于数据库表数据进行增删改操作。
QueryDao(查):对于数据库表数据进行查询操作。
(2)Domain:
领域驱动类,用于业务数据的增删改。领域驱动类可看做传统框架的业务层(Service层)。通过Domain可进行相关业务逻辑实现,可实现操作的前后置处理、缓存组件集成、日志生成、数据批处理等功能。

(3)Repository:
查询仓库类,用于数据的查询。查询仓库类可看做传统框架的持久层(DAO层)。通过Repository可以实现数据的查询,缓存组件集成、复杂条件组合查询等功能。

iform-skeleton-model

(1)entity:
entity文件夹中为其模块对应的持久层对象。

PO在IFORM中为实体对象,其继承表对象的TBL实体,该PO对象做业务字段属性增加不需要与物理表字段一一匹配。
表对象(TBL)继承抽象PO,其对应着数据库表。表对象的一个属性与表的每一个字段相对应。
(2)mapping:
SQL Map XML映射文件在该文件中。

(3)model:
用于数据传递的对象。

作者:黄春艳  创建时间:2024-02-29 15:43
最后编辑:黄春艳  更新时间:2024-11-25 19:17