项目中剔除引入bean对象

场景: 项目中引入一个使用切面类来处理 某个业务方法。根据业务需求重写了这个切面类,并在类头上加上了 @Primary注解,但是通过debug发现 业务方法走完后 断点还会先走到引入的切面类里去,然后走到重写的切面类,导致业务数据多加了一条。

 

解决方法: 剔除引入进来的切面类 

@Component
public class RemoveRegistyBeanFactoryPostProcessor implements BeanDefinitionRegistryPostProcessor {
    //移出bean。 accountManageAop是bean的名称
    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {
        if (beanDefinitionRegistry.containsBeanDefinition("accountManageAop")){
            beanDefinitionRegistry.removeBeanDefinition("accountManageAop");
        }
    }
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
    }
}

 

posted @ 2022-04-02 17:01  fansir万岁  阅读(60)  评论(0编辑  收藏  举报