您的位置:首页 > 移动开发 > Objective-C

传智播客---父类委托机制。注解。

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;
   }
  }
 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐