怎样查看 spring IoC 容器有哪些 bean
方法1:(可行)只能查看部分 getBeanDefinitionNames 中的Bean。
package com.itheima.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; @RestController @RequestMapping public class ViewAllBeans { @Autowired private ApplicationContext applicationContext; @GetMapping("/beanList") public List<String> beanList() { return Arrays.asList(applicationContext.getBeanDefinitionNames()); } }
方法2:
public static void main(String args[]) { ApplicationContext context=new ClassPathXmlApplicationContext("classpath:spring-applicationContext.xml"); Object user= context.getBean("userController"); String[] str=context.getBeanDefinitionNames(); for (String string : str) { System.out.println("..."+string); } System.out.println("----"+user); } // REF https://blog.csdn.net/chengjunhua19890809/article/details/77981839
方法3:
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
public class SpringContextHolder implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextHolder.applicationContext = applicationContext; } public static ApplicationContext getApplicationContext() { return applicationContext; } public static void printAllBeans() { String[] beans = SpringContextHolder.getApplicationContext() .getBeanDefinitionNames(); for (String beanName : beans) { Class<?> beanType = SpringContextHolder.getApplicationContext() .getType(beanName); System.out.println("BeanName:" + beanName); System.out.println("Bean的类型:" + beanType); System.out.println("Bean所在的包:" + beanType.getPackage()); System.out.println("Bean:" + SpringContextHolder.getApplicationContext().getBean( beanName)); } } }
方法4:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; @RestController @RequestMapping public class BeanController { @Autowired private ApplicationContext applicationContext; @GetMapping("/beanList") public List<String> beanList() { return Arrays.asList(applicationContext.getBeanDefinitionNames()); } }
REF
https://blog.csdn.net/Gabriel576282253/article/details/104826413
https://blog.csdn.net/loongshawn/article/details/106259754
https://blog.csdn.net/const_/article/details/100039428
https://blog.csdn.net/long243416336/article/details/80590032
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-01-02 DSP STM32 ARM 51单片机 比较
2021-01-02 温度传感器DS18B20 中文资料
2021-01-02 电路中的VCC和VDD
2010-01-02 是否有Acer4710G(T2450,ATI2400)装上mac的吗
2010-01-02 iDeneb v1.6 安装教程(含中文自定义详细驱动说明)
2010-01-02 PC机安装Mac OS X Snow Leopard各硬件兼容列表
2010-01-02 mac os里各种启动参数的含义