package com.hanshow.mapserver.portal.web;
import com.hanshow.component.thread.StartProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
@Component
public class BeanPostProcessorForWeb implements BeanPostProcessor {
static Logger logger = LoggerFactory.getLogger(BeanPostProcessorForWeb.class);
@Autowired
private StartProcessor startProcessor;
@Nullable
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
logger.info("before beanName={}",beanName);
return bean;
}
@Nullable
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
logger.info("after beanName={}",beanName);
if("org.springframework.web.servlet.support.SessionFlashMapManager".equals(beanName)){
try {
//本来在PostConstruct执行的代码某个bean加载完毕后在执行此时dubbo已经注册
//org.springframework.web.servlet.support.SessionFlashMapManager需要根据实际情况改下
startProcessor.startup();
} catch (Exception e) {
logger.error("",e);
}
}
return bean;
}
}
@PostConstruct dubbo还未注册此时调用服务报错
最新推荐文章于 2025-06-14 01:00:00 发布
本文介绍了一个自定义的BeanPostProcessor实现,用于Spring框架中Bean的初始化前后处理逻辑,特别是针对特定Bean(如SessionFlashMapManager)执行额外启动任务。

732

被折叠的 条评论
为什么被折叠?



