BeanPostProcessor作用

public interface BeanPostProcessor {
	@Nullable
	default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
		return bean;
	}

	@Nullable
	default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
		return bean;
	}

}

  

 

 

BeanPostProcessor主要作用就是帮助我们在bean实例化之后,初始化前后做一些事情。 

例如:获得所有Bean中class上有特定注解的bean,做特殊处理。

@Slf4j
@Component
public class GatewayApiRegister implements BeanPostProcessor {
    public static Map<String, List<GatewayBO>> GATEWAY_MAP = new HashMap<>();

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        Annotation[] annotations = bean.getClass().getAnnotations();
        if (annotations == null) {
            return bean;
        }

        return bean;
    }

}

  

posted @ 2022-08-04 23:28  使用D  阅读(871)  评论(0编辑  收藏  举报