Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中PhoneNumber的自定义格式化程序_Java_Spring_Annotations_Customization - Fatal编程技术网

Java中PhoneNumber的自定义格式化程序

Java中PhoneNumber的自定义格式化程序,java,spring,annotations,customization,Java,Spring,Annotations,Customization,我正在尝试为电话号码格式创建自定义注释 @Target({ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) public @interface ContactNumberFormate { } BeanPostProcessor实现: @Component public class PhoneFormatter implements BeanPostProcessor { priv

我正在尝试为电话号码格式创建自定义注释

 @Target({ElementType.METHOD, ElementType.FIELD})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ContactNumberFormate {
 }
BeanPostProcessor实现:

 @Component
public class PhoneFormatter implements BeanPostProcessor {

private Object beanIs;

private PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();

@Override
public Object postProcessBeforeInitialization(Object bean, String s) throws BeansException {
    if (bean.getClass().isAnnotationPresent(ContactNumberFormate.class)) {
        beanIs = bean.getClass();
    }
    return bean;
}

@Override
public Object postProcessAfterInitialization(Object bean, String s) throws BeansException {
    String phone = "";
    String locale = "";
    try {
        phone = (String) beanIs.getClass().getDeclaredField("phone").get(bean);
        locale = (String) beanIs.getClass().getDeclaredField("locale").get(bean);
    } catch (NoSuchFieldException | IllegalAccessException e) {
        e.printStackTrace();
    }


    //Other code//

    return formattedPhoneNumber;
  }

 }
但是对于“beanIs=bean.getClass()”我捕获了NullPointedException

完整日志:

 java.lang.NullPointerException
at ru.spb.dreamwhite.util.phoneUtil.PhoneFormatter.postProcessAfterInitialization(PhoneFormatter.java:33)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1807)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)

您可以参考这个git存储库。请粘贴完整的异常日志