com.biz.verification.condition.CheckScanPackageCondition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of biz-all Show documentation
Show all versions of biz-all Show documentation
BizX 是一个灵活而高效的业务开发框架, 其中也有很多为业务开发所需要的工具类的提供。
The newest version!
package com.biz.verification.condition;
import com.biz.common.utils.Common;
import org.springframework.beans.factory.annotation.Value;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 包路径检查条件。
* 用于检查是否配置了自定义校验包路径,并判断类名是否在配置的包路径下。
*
*
* 示例配置:
* biz.verification.scan-packages=com.controller,com.service
*
*
* 使用 {@link Value} 注解从配置文件中读取包路径,并在 {@link PostConstruct} 方法中初始化包路径列表。
*
* @author francis
* @since 1.0.1
**/
public class CheckScanPackageCondition {
@Value("${biz.verification.scan-packages:}")
private String scanPackages;
/**
* 包路径列表,用于存储配置的包路径。
*/
private static List packageList;
/**
* 初始化方法,在 Bean 初始化后调用,解析配置的包路径并存储在列表中。
*/
@PostConstruct
private void init() {
if (Common.isBlank(scanPackages)) {
packageList = new ArrayList<>();
} else {
packageList = Arrays.asList(scanPackages.split(","));
}
}
/**
* 是否配置了自定义校验包路径。
*
* @return 如果配置了自定义校验包路径返回 true;否则返回 false
*/
public static boolean hasText() {
return !Common.isEmpty(packageList);
}
/**
* 判断类名是否在配置的包路径下。
*
* @param className 类名,不能为空
* @return 如果类名在配置的包路径下,返回 true;否则返回 false
*/
public static boolean classNameInPackage(String className) {
if (Common.isEmpty(packageList)) {
return false;
}
for (String scanPackage : packageList) {
if (className.startsWith(scanPackage.trim())) {
return true;
}
}
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy