Skip to content

启动时安全检查

在启动阶段对非实体类:VO(有注解@ResultEntity的类)、Model(实现Model接口的类) 、对象转条件的类(有注解@ConditionTarget的类)、对象转排序的类(有注解@OrderByTarget的类)的安全检查;默认是在运行时才会检查

1. spring 容器下的启动时安全检查配置

1.1 springboot Application下安全检查配置

java
@XbatisPojoCheckScan(basePackages = "com.sys.**.POJO")
public class ApiApplication {
    public static void main(String[] args) {
        try {
            SpringApplication.run(ApiApplication.class, args);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

1.2 springboot 开发环境下安全检查配置(推荐)

java
@Profile("dev")
@Configuration
@XbatisPojoCheckScan(basePackages = "com.sys.api.POJO.DTO")
public class XbatisSafeCheckConfig {
}

只有dev环境才检查;其他环境不检查(加速启动时间)

1.3 XbatisPojoCheckScan属性说明

属性名说明
basePackages基础包路径
modelPackagesModel类的包扫描路径;如果没填,则使用basePackages的路径
resultEntityPackagesVO类的包扫描路径;如果没填,则使用basePackages的路径
conditionTargetPackages对象转条件的类的包扫描路径;如果没填,则使用basePackages的路径
orderByTargetPackages对象转排序的类的包扫描路径;如果没填,则使用basePackages的路径

2. solon 容器下的启动时安全检查配置(yml配置)

yaml
mybatis.db1:
    pojoCheck:
      basePackages: com.example.**.po
    mappers:
    - "com.**.mapper.TestMapper"

pojoCheck 下配置 basePackages、modelPackages、resultEntityPackages、conditionTargetPackages、orderByTargetPackages

配置的说明和XbatisPojoCheckScan属性说明一样; 多个逗号分隔!!!