我在春天有一点经验.我想知道Spring Context/Bean Lifecycle中的回调量.我从来没有使用它们,并且可以成像需要大部分的情况.
我的问题是:你能为每个回调至少提供一个使用示例吗?表示需要回调时的情况.
Conext回调:
Bean回调:

PS:
当大多数回调调用时,或者为ApplicationContext编写了一个或另一个实现时,我很清楚.但我无法弄清楚为什么有人可能想要从回调\实施中获利.例如:
AbstractRefreshableApplicationContext用于在飞行中更改bean配置.但为什么?在哪种情况下我可能想要在飞行中更改bean的配置?afterPropertiesSet 回调,显然是在设置了所有bean的属性后调用的:)但为什么我应该知道这个,什么时候我应该(可能想要)使用它?我正在尝试在Spring MVC中发布自定义事件,但在加载上下文时未触发,下面是代码段,
连接到服务器后将调用onConnectionOpened,该服务器是在使用@PostConstruct进行bean初始化之后触发的
@Autowired
private ApplicationEventPublisher publisher;
public void onConnectionOpened(EventObject event) {
publisher.publishEvent(new StateEvent("ConnectionOpened", event));
}
Run Code Online (Sandbox Code Playgroud)
我在侦听器部分中使用注释,如下所示
@EventListener
public void handleConnectionState(StateEvent event) {
System.out.println(event);
}
Run Code Online (Sandbox Code Playgroud)
我能够看到在加载或刷新上下文后触发的事件,这是否可以在加载或刷新上下文后发布自定义应用程序事件?
我正在使用Spring 4.3.10
提前致谢