ScannerNymphBeans.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:nymph 作者:
/**
 * 解析jar包中的类
 * @param jarFile           表示jar文件
 * @param packageLocation   扫描的包路径
 * @throws Exception 反射时的异常
 */
private void resolveJar(JarFile jarFile, String packageLocation) throws Exception {
    Enumeration<JarEntry> entries = jarFile.entries();
    while (entries.hasMoreElements()) {
        String classLocation = entries.nextElement().getName();
        // 当jar文件中的路径是以packageLocation指定的路径开头,并且是以.class结尾时
        if (classLocation.startsWith(packageLocation) && classLocation.endsWith(".class")) {
            String location = classLocation.replace(".class", "").replace("/", ".");
            Class<?> forName = Class.forName(location);
            configurationBeansHandler(forName);
            Annotation[] annos = forName.getAnnotations();
            if (AnnoUtil.exist(annos, Bean.class) && !forName.isInterface()) {
                beansInitializedHandler(forName);
            }
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号