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

来源:互联网 发布:手机能申请淘宝网店吗 编辑:程序博客网 时间:2024/06/05 07:52

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;
   }
  }
 }

原创粉丝点击