Skip to content

io microsphere spring context event BeanTimeStatistics

github-actions[bot] edited this page Jun 18, 2026 · 18 revisions

BeanTimeStatistics

Type: Class | Module: microsphere-spring-context | Package: io.microsphere.spring.context.event | Since: 1.0.0

Source: microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/BeanTimeStatistics.java

Overview

BeanTimeStatistics is a BeanListener implementation that tracks and measures the time spent during various stages of a Spring Bean's lifecycle using a StopWatch instance.

This class provides detailed timing information for bean instantiation, initialization, destruction, and other key events in the Spring context. It is particularly useful for performance analysis and debugging.

Example Usage

`// Registering BeanTimeStatistics as a listener in a Spring context
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(BeanTimeStatistics.class);
context.refresh();
`

Once registered, it will automatically begin measuring the following bean lifecycle events:

  • #onBeanDefinitionReady(String, RootBeanDefinition) - when a bean definition is ready
  • #onBeforeBeanInstantiate(String, RootBeanDefinition) - before a bean is instantiated
  • #onAfterBeanInstantiated(String, RootBeanDefinition, Object) - after a bean is instantiated
  • #onBeforeBeanInitialize(String, Object) - before a bean is initialized
  • #onAfterBeanInitialized(String, Object) - after a bean is initialized
  • #onBeanReady(String, Object) - when a bean is fully ready for use
  • #onBeforeBeanDestroy(String, Object) - before a bean is destroyed
  • #onAfterBeanDestroy(String, Object) - after a bean is destroyed

The collected timing data can be accessed via the #getStopWatch() method, which returns a StopWatch instance containing all measured times.

Declaration

public class BeanTimeStatistics implements BeanListener, BeanNameAware

Author: Mercy

Version Information

  • Introduced in: 1.0.0
  • Current Project Version: 0.2.27-SNAPSHOT

Version Compatibility

This component is tested and compatible with the following Java versions:

Java Version Status
Java 17 ✅ Compatible
Java 21 ✅ Compatible
Java 25 ✅ Compatible

Examples

// Registering BeanTimeStatistics as a listener in a Spring context
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(BeanTimeStatistics.class);
context.refresh();

Usage

Maven Dependency

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.microsphere-projects</groupId>
    <artifactId>microsphere-spring-context</artifactId>
    <version>${microsphere-spring.version}</version>
</dependency>

Tip: Use the BOM (microsphere-spring-dependencies) for consistent version management. See the Getting Started guide.

Import

import io.microsphere.spring.context.event.BeanTimeStatistics;

API Reference

Public Methods

Method Description
supports
onBeanDefinitionReady
onBeforeBeanInstantiate
onBeforeBeanInstantiate
onBeforeBeanInstantiate
onAfterBeanInstantiated
onBeanPropertyValuesReady
onBeforeBeanInitialize
onAfterBeanInitialized
onBeanReady
onBeforeBeanDestroy
onAfterBeanDestroy
getStopWatch
setBeanName

See Also

  • StopWatch
  • BeanListener
  • EventPublishingBeanInitializer

This documentation was auto-generated from the source code of microsphere-spring.

Home

spring-context

spring-guice

spring-jdbc

spring-test

spring-web

spring-webflux

spring-webmvc

Clone this wiki locally