zoukankan      html  css  js  c++  java
  • Spring一些笔记

    @ControllerAdvice ,被注解的class表示这是一个增强的 Controller。

    使用这个 Controller ,可以实现三个方面的功能:

    1. 全局异常处理
    2. 全局数据绑定
    3. 全局数据预处理

    解决不同package下bean重名的问题

    //启动类注解
    @SpringBootApplication
    @ComponentScan(nameGenerator=SelfBeanNameGenerator.class)
    
    
    //自定义beanNameGenerator
    public class SelfBeanNameGenerator extends AnnotationBeanNameGenerator {
        @Override
        protected String buildDefaultBeanName(BeanDefinition definition) {
            if (definition instanceof AnnotatedBeanDefinition) {
                String beanName = determineBeanNameFromAnnotation((AnnotatedBeanDefinition) definition);
                if (StringUtils.hasText(beanName)) {
                    return beanName;
                }
            }
            return definition.getBeanClassName();
        }
    }

    ----

    BeanPostProcessor 作用,

    可以在bean初始化时做一些配置

    该类接口如下;

    public interface BeanPostProcessor {
        //bean初始化方法调用前被调用,修改beanDefinition,预处理
    //实例化、依赖注入完毕,在调用显示的初始化之前完成一些定制的初始化任务
    Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; //实例化、依赖注入、初始化完毕时执行 Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException; }

    bean初始化过程:

  • 相关阅读:
    Application package 'AndroidManifest.xml' must have a minimum of 2 segments.
    让“是男人就下到100层”在Android平台上跑起来
    移植一个cocos2d-x游戏
    cocos2d-x宏定义
    职场之需求
    cocos2d-x for android配置 & 运行 Sample on Linux OS
    input函数出现的问题(Python)
    职场之英语
    职场之随手记
    应用商店后台MIS的一些思考
  • 原文地址:https://www.cnblogs.com/snow-man/p/12363315.html
Copyright © 2011-2022 走看看