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

  • 相关阅读:
    线程基础知识归纳
    并发编程情况下几个相应问题简介
    Spring Security的RBAC数据模型嵌入
    Mysql插入中文的字段内容时乱码的解决方法
    部分排序算法总结
    sendEmail 阿里云使用587端口
    linux服务器关闭ipv6 方法
    centos 6.8 安装git 报错
    强大的xargs
    nfs环境搭建报错clnt_create: RPC: Program not registered
  • 原文地址:https://www.cnblogs.com/snow-man/p/12363315.html
Copyright © 2011-2022 走看看