# spring-bean-visualization **Repository Path**: yyjxpfz/spring-bean-visualization ## Basic Information - **Project Name**: spring-bean-visualization - **Description**: 一个SpringBean可视化工具 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-02-16 - **Last Updated**: 2024-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Spring, Java, Echarts ## README # SpringBeanVisualization ### 介绍 这是一个将SpringBean可视化的工具。在Spring应用程序启动过程中,Bean的初始化和依赖注入是一个复杂而关键的过程。该工具的设计初衷是为了帮助开发人员更好地理解和优化Spring应用程序的性能。 - 通过**SpringBean初始化时间线**,可以清楚地看到每个Bean的初始化顺序和耗时,从而找出可能导致启动延迟的瓶颈。 ![init_timeline.png](readme-img%2Finit_timeline.png) - 通过**SpringBean依赖关系**,能够帮助识别并解决潜在的循环依赖问题(在下图中循环依赖被红色标注),确保应用程序的稳定性和可维护性。 ![dependencies.png](readme-img%2Fdependencies.png) ### 使用说明 1. 引入jar包依赖。 ```xml priv.pfz spring-bean-visualization-core 1.0-SNAPSHOT ``` 2. 按照如下示例调用API。 ```java public class VisualizeTest { public static void main(String[] args) { Visualizer.newInstance() //指定spring配置文件路径 .configLocation("classpath:spring/applicationContext.xml") //用于依赖关系图中给bean进行分类,可不设置 .addBeanCategory("Service", ".*Service.*") .addBeanCategory("Mapper", ".*Mapper.*") //指定生成html文件的目录 .htmlPath("spring-bean-visualization-lab/src/main/resources/visualization/") //是否排除spring内部bean,默认为true .excludeSpringInnerBean(true) //是否生成脱机页面,默认为false .generateLocalHtml(true) .visualize(); } } ``` 3. 运行测试,即可在指定的目录看到生成的可视化页面。 ![html_files.png](readme-img%2Fhtml_files.png)