All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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