从spring容器中,获得实现指定接口的所有实例
@Component
public class SpringBeanUtil implements ApplicationContextAware
{
private Map<String, Object> serviceBeans;
@Override
public void setApplicationContext(ApplicationContext ac)
throws BeansException
{
//获得所有serviceBeans
serviceBeans =ac.getBeansWithAnnotation(org.springframework.stereotype.Service.class);
}
/**
* 从spring容器中获得指定接口实现实例
* 从spring容器中获得实现@service 所有bean中实现 interfaceType接口的实例
*
* @param interfaceType 需要和 I.class一样
* @return
*/
public List<Object> getBeansByInterface(Class<?> interfaceType)
{
List<Object> tList = new ArrayList<Object>();
for(String key : serviceBeans.keySet())
{
Object obj = serviceBeans.get(key);
for(Class<?> c : obj.getClass().getInterfaces())
{
if(
获得spring容器中,实现某接口的所有实例;
最新推荐文章于 2022-07-07 09:40:26 发布