# JeecgBoot如何扩展新模块

TIP

在JeecgBoot开源项目中,很多业务场景如支付,工作流等比较独立的业务模块,新增一个模块非常有利于项目的维护。本文将手把手教您如何新建一个Jeecg模块(module)

在IDEA工具导入项目,并在项目上右键,新建module进行模块信息

foo

新增之后就可以看到项目会出现一个新的crm模块,接着就在pom.xml添加maven依赖

foo

<dependency>
    <groupId>org.jeecgframework.boot</groupId>
    <artifactId>jeecg-boot-base-core</artifactId>
</dependency>

在在jeecg-boot-module-system/jeecg-system-start模块的pom.xml引入新增的crm模块。这个操作才会将新增的模块纳入整个体系中。如下

<dependencies>
    <!-- SYSTEM 系统管理模块 -->
    <dependency>
        <groupId>org.jeecgframework.boot</groupId>
        <artifactId>jeecg-system-biz</artifactId>
        <version>${jeecgboot.version}</version>
    </dependency>
    <!-- DEMO 示例模块 -->
    <dependency>
        <groupId>org.jeecgframework.boot</groupId>
        <artifactId>jeecg-module-demo</artifactId>
        <version>${jeecgboot.version}</version>
    </dependency>
    <!-- CRM模块 -->
    <dependency>
        <groupId>org.jeecgframework.boot</groupId>
        <artifactId>jeecg-module-crm</artifactId>
        <version>${jeecgboot.version}</version>
    </dependency>
    <!--人大金仓
    <dependency>
        <groupId>org.jeecgframework</groupId>
        <artifactId>kingbase8</artifactId>
        <version>9.0.0</version>
        <scope>runtime</scope>
    </dependency>-->
    <!--达梦数据库 -->
    <dependency>
        <groupId>com.dameng</groupId>
        <artifactId>Dm8JdbcDriver18</artifactId>
        <version>${dm8.version}</version>
    </dependency>
    <dependency>
        <groupId>com.dameng</groupId>
        <artifactId>DmDialect-for-hibernate5.0</artifactId>
        <version>${dm8.version}</version>
    </dependency>

    <!--支持 mysql5.7、mysql8、MariaDB10.3.16-->
    <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>7.15.0</version>
    </dependency>
</dependencies>

swagger配置: 在swagger配置新模块的swagger扫描bean.找到Swagger2Config。追加如下Bean配置。

@Bean
public Docket loanApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo()).groupName("会员模块")
            .select()
            //此包路径下的类,才生成接口文档
            .apis(RequestHandlerSelectors.basePackage("org.jeecg.crm"))
            //加了ApiOperation注解的类,才生成接口文档
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            .paths(PathSelectors.any())
            .build()
            .securitySchemes(Collections.singletonList(securityScheme()));
    //.globalOperationParameters(setHeaderToken());
}

mybatis-plus配置: 在application.yml中的配置

mybatis-plus:
  mapper-locations: classpath*:classpath*:org/jeecg/crm/**/xml/*Mapper.

MybatisPlusSaasConfig配置mapper文件扫描路径

@Configuration
@MapperScan(value={"org.jeecg.modules.**.mapper*","org.jeecg.loan.**.mapper*","org.jeecg.camunda.**.mapper*","org.jeecg.story.**.mapper*"})
public class MybatisPlusSaasConfig {
}

完成上述步骤,您的项目就拥有了一个独立业务的新模块啦!如果您在使用JeecgBoot过程中对于集成工作流有需要,请访问JeecgFlow (opens new window)