java如何知道需导入哪个包_怎么知道缺少哪个jar包,求助!!!
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
package com.icss.framework;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.icss.annotation.Autowired;
import com.icss.annotation.Service;
/**
*
* @author WangHuizuo
*
*/
public class PackagesApplicationContext2 implements ApplicationContext {
private Map context = new HashMap();
public PackagesApplicationContext2(String... packages) {
List> list = ClassScanner.scan(Service.class, packages);
for (Class> cls : list) {
try {
Object obj = cls.newInstance();
String name = cls.getAnnotation(Service.class).value();
if ("".equals(name)) {
name = cls.getSimpleName().substring(0, 1).toLowerCase()
+ cls.getSimpleName().substring(1);
}
context.put(name, obj);
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException("實例化Bean失敗:", e);
}
}
for (Object obj : context.values()) {
for (Method method : obj.getClass().getMethods()) {
if (method.getName().matches("^set[A-Z]\\w*$")
&& method.getParameterTypes().length == 1
&& method.isAnnotationPresent(Autowired.class)) {
Object value = null;
try {
String name = method.getName().substring(3);
name = name.substring(0, 1).toLowerCase()
+ name.substring(1);
value = getBean(name);
method.invoke(obj, value);
System.out.println(name+"---"+value);
} catch (IllegalAccessException | IllegalArgumentException
| InvocationTargetException e) {
throw new RuntimeException("自動依賴注入失敗:" + method, e);
}
}
}
}
}
@Override
public Object getBean(String name) {
return context.get(name);
}
}
總結
以上是生活随笔為你收集整理的java如何知道需导入哪个包_怎么知道缺少哪个jar包,求助!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql打开的文件描述符限制_linu
- 下一篇: pilt图像处理_图像处理 PIL