传智播客---父类委托机制。注解。
2010-11-22 11:14
197 查看
1.
当程序里面抛出ClassCastException有可能是没有父类委托机制
删除lib目录里面的jar。因为lib目录有可能跟原来j2ee里面自带的包冲突。,为了让编译通过,删除lib目录里面的jar是在编译后,删除的
2.
注解。
反射机制.
例子:
通过字段上注释的信息,注入一个对象
@Inject(name="老张",age=34,password="234")
public void setPerson(Person person) {
this.person = person;
}
private static void field() throw Exception()
{
PersonDao dao = new PersonDao();
Field fields[] = Person.class.getDeclaredFields();
for(Field f:field)
{
Inject inject = f.getAnnotation(Inject.class)
if(inject!=null)
{
Class beanClazz = f.getType();
Object bean = beanClazz.newInstance();
annotation2Bean(inject,bean);
f.setAccessible(true);
f.set(dao,bean);
}
}
}
private static void annotation2Bean(Inject inject, Object bean) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
Method methods[] = inject.getClass().getMethods();
for(Method m : methods){
String name = m.getName(); //得到注解的所有的属性名称 age() name()
try {
PropertyDescriptor pd = new PropertyDescriptor(name,bean.getClass());
pd.getWriteMethod().invoke(bean, m.invoke(inject, null));
} catch (IntrospectionException e) {
continue;
}
}
}
当程序里面抛出ClassCastException有可能是没有父类委托机制
删除lib目录里面的jar。因为lib目录有可能跟原来j2ee里面自带的包冲突。,为了让编译通过,删除lib目录里面的jar是在编译后,删除的
2.
注解。
反射机制.
例子:
通过字段上注释的信息,注入一个对象
@Inject(name="老张",age=34,password="234")
public void setPerson(Person person) {
this.person = person;
}
private static void field() throw Exception()
{
PersonDao dao = new PersonDao();
Field fields[] = Person.class.getDeclaredFields();
for(Field f:field)
{
Inject inject = f.getAnnotation(Inject.class)
if(inject!=null)
{
Class beanClazz = f.getType();
Object bean = beanClazz.newInstance();
annotation2Bean(inject,bean);
f.setAccessible(true);
f.set(dao,bean);
}
}
}
private static void annotation2Bean(Inject inject, Object bean) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
Method methods[] = inject.getClass().getMethods();
for(Method m : methods){
String name = m.getName(); //得到注解的所有的属性名称 age() name()
try {
PropertyDescriptor pd = new PropertyDescriptor(name,bean.getClass());
pd.getWriteMethod().invoke(bean, m.invoke(inject, null));
} catch (IntrospectionException e) {
continue;
}
}
}
相关文章推荐
- 类加载器[2]父类委托机制[2]父类委托机制真的安全吗
- Java类加载器学习2——自定义类加载器和父类委托机制带来的问题
- java类加载器学习2――自定义类加载器和父类委托机制带来的问题
- 类加载器[3]自定义类加载器[1]:突破父类委托机制
- java类加载器学习2——自定义类加载器和父类委托机制带来的问题
- java类加载器学习2——自定义类加载器和父类委托机制带来的问题/JAVA类加载的委托模型/Java的委托
- jvm类加载器的父类委托机制
- java类加载器学习2——自定义类加载器和父类委托机制带来的问题/JAVA类加载的委托模型/Java的委托
- JVM学习-ClassLoader的父类委托机制
- 如何处理Tomcat违反java虚拟机的类加载器的(父类委托机制)
- 父类委托机制详解(全盘负责委托机制 )
- 加强2注解。泛型。类加载器及其委托机制。代理的概念与作用原理,AOP概念。实现AOP功能的封装与配置。类似Spring。
- 类加载器[2]父类委托机制[1]
- 关于Java类加载父类委托机制 /双亲委派模型(附两道面试题)
- flex4 + spring + blazeds , 使用anonation(注解)机制,利用push技术的实现例子和过程。
- C++实现的委托机制(一)
- Unity3D技巧在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信
- ios开发笔记--委托机制详解及代码
- cocos2d-x中委托机制
- select数据库反射机制(注解)