首页 > 其他分享 >BeanPostProcessor 接口和@PostConstruct 在使用姿势上差异

BeanPostProcessor 接口和@PostConstruct 在使用姿势上差异

时间:2024-07-29 16:28:24浏览次数:11  
标签:BeanPostProcessor beanName Object PostConstruct 接口 bean public

先说结论

接口BeanPostProcessor 更灵活,
可以实现bean生命周期里前,后分别执行某些内容,必须是spring管理的bean才能实现此功能,不加@Component不生效

@Component
public class MyBeanPostProcessor implements BeanPostProcessor {

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        // 在 bean 初始化之前执行逻辑
        if (bean instanceof MyBean) {
            System.out.println("Before Initialization: " + beanName);
        }
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        // 在 bean 初始化之后执行逻辑
        if (bean instanceof MyBean) {
            System.out.println("After Initialization: " + beanName);
        }
        return bean;
    }
}

标签:BeanPostProcessor,beanName,Object,PostConstruct,接口,bean,public
From: https://www.cnblogs.com/PythonOrg/p/18330389

相关文章

  • 纳米体育数据API电竞数据API:资料库数据包接口文档API示例⑤
    纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。纳米数据API2.0版本包含http协议以及websocket协议,主要通过http获取数......
  • 医学成像控制卡:268-基于FMC接口的DSP TMS320C6657子卡模块
    基于FMC接口的DSPTMS320C6657子卡模块一、概述       FMC连接器是一种高速多pin的互连器件,广泛应用于板卡对接的设备中,特别是在xilinx公司的所有开发板中都使用。该DSP子卡模块以TI强大性能DSPTMS320C6657作为主芯片,专门针对xilinx开发板设计的标准板卡,用于关键任务,医......
  • 日常学习--调用第三方接口和提供第三方接口时的注意事项--20240728
    1、调用第三方接口的注意事项   接口测试与验证:对第三方接口进行充分的测试,包括功能测试、性能测试和安全测试,确保接口的稳定性和安全性。 验证接口的可用性,包括接口地址、请求方式、请求参数、响应格式等是否正确。   参数校验与日志记录:在调用接口前,对请求......
  • c# 接口
    在C#中,接口是一种定义了一组方法、属性、事件或索引器的契约,但不提供具体实现。任何类或结构体都可以实现一个或多个接口,从而承诺提供接口中定义的功能。特点:定义方法:接口只定义方法的签名,没有实现。多重继承:一个类可以实现多个接口,允许不同类型的行为组合。多态性:可以通过......
  • 解决ensp交换机接口二层传三层后无法配置IP地址
    交换机上接口由二层传到三层后无法配置IP地址,如图[S3-GigabitEthernet0/0/1]undoportswitch        #二层切换到三层[S3-GigabitEthernet0/0/1]portswitch             #三层切换到二层###portswitch和undoportswitch不能连续......
  • 函数式接口和Lambda表达式概念和用法
    目录一.函数式接口1.1概念和用法1.2 匿名内部类介绍1.3常用的函数式接口Consumer(消费型接口)Supplier(供给型接口)Function(函数型接口)Predicate【断言型接口】 二.Lambda表达式2.1概念2.2用法2.3方法引用2.4匿名内部类和Lambda表达式的区别一.函数式......
  • springsecurity通过策略模式设置统一认证接口
     还是回到这张图:我们想不止使用数据库查找的方法去实现认证,而是使用一个统一的认证方法,首先需要修改DaoAuthenticationProvider内实现功能7的方法protectedvoidadditionalAuthenticationChecks(UserDetailsuserDetails,UsernamePasswordAuthenticationTokenauthenticatio......
  • 七天.NET 8操作SQLite入门到实战 - 第七天Blazor学生管理页面编写和接口对接(3)
    前言本章节我们的主要内容是完善Blazor学生管理页面的编写和接口对接。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介第二天在Windows上配置SQLite环境第三天SQLite快速入门第四天EasySQLite前后端项目框架搭建第五天引入SQLite-netORM并封装......
  • [java]小程序,用接口的方式计算两个数的加减乘除
           ......
  • js切割接口域名前缀。
    在请求图片时,可能会有有域名的,或没域名的地址,这就需要判断,把字符串域名把域名前缀剪切掉letdomain="https://www.example.com"; //剪切掉域名前缀functiontrimDomainPrefix(url){  //定义需要剪切的前缀列表  constprefixes=["http://","https://",......