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初始化过程:

  • 相关阅读:
    从多渠道打包与友盟统计有这一篇就够了
    多渠道打包
    studio构建错误Element uses-permission#android.permission.ACCESS_NETWORK_STATE at AndroidManifest.xml:38:5-79 dupli
    ADB命令与monkey
    正则表达式和文本挖掘(Text Mining)
    一步一步教你使用Git
    Android常见开源解决方案
    Android Intent到底能做些什么
    支付宝集成
    Theano 学习三 conv2d
  • 原文地址:https://www.cnblogs.com/snow-man/p/12363315.html
Copyright © 2011-2022 走看看