cn.jiangzeyin.common.spring.init.SystemInitPackageControl Maven / Gradle / Ivy
package cn.jiangzeyin.common.spring.init;
import cn.jiangzeyin.system.log.SystemLog;
import cn.jiangzeyin.util.util.PackageUtil;
import cn.jiangzeyin.util.util.StringUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.List;
/**
* @author jiangzeyin
* Created by jiangzeyin on 2017/2/7.
*/
@Configuration
public class SystemInitPackageControl {
@Value("${initPackageName:}")
private String initPackageName;
@Value("${initPackageName.methodName:init}")
private String methodName;
private static SystemInitPackageControl systemInitPackageControl;
/**
* // * 系统预加载包名
* //
*/
// @Value("${server.initPackageName:com.yoke.system.init}")
// public String initPackageName;
static void init() {
if (systemInitPackageControl == null)
systemInitPackageControl = SpringUtil.getBean(SystemInitPackageControl.class);
if (StringUtil.isEmpty(systemInitPackageControl.initPackageName))
return;
try {
List list = PackageUtil.getClassName(systemInitPackageControl.initPackageName);
if (list == null)
return;
for (String name : list) {
try {
if (name.contains("$"))
continue;
Class> cls = Class.forName(name);
if (cls == SystemInitPackageControl.class)
continue;
Method method = cls.getMethod(systemInitPackageControl.methodName);
method.invoke(null);
} catch (ClassNotFoundException e) {
SystemLog.ERROR().error("预加载包错误:" + name, e);
} catch (Exception e) {
SystemLog.ERROR().error("预加载包错误:" + name + " 执行错误", e);
}
}
} catch (IOException e) {
SystemLog.ERROR().error("预加载包错误", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy