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

  • 相关阅读:
    隔壁小孩都要知道的Drupal配置
    Cobaltstrike、armitage联动
    YxCMS 1.4.7 最新版漏洞分析
    业务逻辑漏洞探索之暴力破解
    刺透内网的HTTP代理
    pwn入门之栈溢出练习
    史上最完整的MySQL注入
    ISG 2018 Web Writeup
    3-4 计算长方形的周长和面积
    【Lucene4.8教程之二】索引
  • 原文地址:https://www.cnblogs.com/snow-man/p/12363315.html
Copyright © 2011-2022 走看看