-
方法一:
实现ApplicationContextAware
package com.example.demo.pojo; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import java.util.HashSet; import java.util.Set; @Component public class TestEntity implements ApplicationContextAware { private Set<String> beans = new HashSet<>(); @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { for (String s : applicationContext.getBeanDefinitionNames() ) { beans.add(s); } } }
-
方法二
直接用@Autowired标记ApplicationContext,调用getBeanDefinitionNames
package com.example.demo.pojo; import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; @Component public class TestEntity { @Autowired private ApplicationContext applicationContext; }
Springboot中获取所有Bean对象的方法
最新推荐文章于 2024-08-07 18:08:32 发布
本文介绍了在Springboot中获取所有Bean对象的两种方式:一是实现ApplicationContextAware接口;二是使用@Autowired注解注入ApplicationContext,然后通过getBeanDefinitionNames方法获取。
摘要由CSDN通过智能技术生成