0
我有一個使用spring啓動的javafx應用程序。我想要顯示在啓動畫面上加載的bean。如何在啓動時攔截彈簧引導Bean加載?
如何攔截bean的加載,以便我可以得到它的名字?
我以前指出,它已經在這裏找到答案: Print all the Spring beans that are loaded
但我想知道哪個bean被裝載,而不是已加載的豆類。
我有一個使用spring啓動的javafx應用程序。我想要顯示在啓動畫面上加載的bean。如何在啓動時攔截彈簧引導Bean加載?
如何攔截bean的加載,以便我可以得到它的名字?
我以前指出,它已經在這裏找到答案: Print all the Spring beans that are loaded
但我想知道哪個bean被裝載,而不是已加載的豆類。
您可以使用BeanPostProcessor
。它會前和初始化後通知任何豆:
public class PrintingBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Before init: " + beanName);
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("After init: " + beanName);
return bean;
}
}
要註冊,請在我的配置類,我只是做:
@Bean
public BeanPostProcessor postProcessor() {
return new PrintingBeanPostProcessor();
}
這上啓動,然後打印:
Before init: resourceHandlerMapping
After init: resourceHandlerMapping
Before init: defaultServletHandlerMapping
After init: defaultServletHandlerMapping
Before init: mvcUriComponentsContributor
After init: mvcUriComponentsContributor
Before init: httpRequestHandlerAdapter
After init: httpRequestHandlerAdapter
(這顯然只是它打印的一小部分)
希望有幫助,
Artur
這就是我想要的。謝謝! –