关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 9870|回复: 2

JeecgBoot如何自定义包根路径

[复制链接]
发表于 2021-9-9 12:01:31 | 显示全部楼层 |阅读模式
1、jeecg的默认包路径尽量不要改,即使改了jeecg的路径扫描规则也要保留、online底层需要用到。
2、支持自定义新的根路径,不过需要修改两个地方,一个spring启动类加上新的路径、另外一个是mybatisplus的扫码路径
spring启动类加上新的路径org.jeecg.JeecgSystemApplication
  1. @SpringBootApplication(scanBasePackages = {"org.jeecg","com.mydes"})
  2. public class JeecgSystemApplication extends SpringBootServletInitializer {
复制代码


mybatisplus的扫码路径的配置
QQ图片20210909115750.png

发表于 2022-11-25 15:27:53 | 显示全部楼层
如果使用的是通过镜头测光的幸运飞艇直播澳洲幸运20走势图福彩双色球结果照相机的“自动曝光模式”,道理也是一样的。
发表于 2023-7-5 19:50:49 | 显示全部楼层
要使用自定义包需要做一下配置
1. 在主模块启动类上面加上两个注解,
@SpringBootApplication(scanBasePackages = {"org.jeecg","com.guanyu"})和
@MapperScan({"com.guanyu"}),这个必须要,在程序配置文件中配置是无效的
2. 如果想swagger显示自定义包中的controller的信息,需要修改jeecg-boot-base-core项目中位于org.jeecg/config下面的Swagger2Config中的配置,并修改部分代码。
@Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //此包路径下的类,才生成接口文档
//                .apis(RequestHandlerSelectors.basePackage("org.jeecg"))
                .apis(getPackages())
                //加了ApiOperation注解的类,才生成接口文档
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(Collections.singletonList(securityScheme()))
                .securityContexts(securityContexts())
                .globalOperationParameters(setHeaderToken());
    }

@SuppressWarnings("all")
    private Predicate<RequestHandler> getPackages(){
        String[] packages = {"org.jeecg","com.guanyu"};
        return v -> declaring(v).transform(handlerPackage(packages)).or(true);
    }

    @SuppressWarnings("all")
    private Optional<? extends Class<?>> declaring(RequestHandler handler) {
        return Optional.fromNullable(handler.declaringClass().getDeclaringClass());
    }

    @SuppressWarnings("all")
    private Function<Class<?>, Boolean> handlerPackage(String[] packages) {
        return v -> {
            for (String p : packages) {
                if (v.getPackage().getName().startsWith(p))
                    return true;
            }
            return false;
        };
    }
运行以上需要google guava的支持,请在项目文件中添加这个依赖

                <dependency>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                        <version>23.0</version>
                </dependency>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表