/**
* 解析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);
}
}
}
}
ScannerNymphBeans.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:nymph
作者:
评论列表
文章目录