获取所有bean的名字

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.WebApplicationContext;


WebApplicationContext  ac = ContextLoaderListener.getCurrentWebApplicationContext();
//ApplicationContext ac = SpringContext.getApplicationContext();
        String[] strings=ac.getBeanDefinitionNames();
        System.out.println(strings.length);

        AutowireCapableBeanFactory beanFactory = ac.getAutowireCapableBeanFactory();
        beanFactory.autowireBean(a);
        String name = a.getClass().getName();
        beanFactory.initializeBean(a, name);
        strings=ac.getBeanDefinitionNames();
        System.out.println(strings.length);
        for (String string : strings) {
            System.out.println(string);
        }
时间: 2024-10-11 00:39:52

获取所有bean的名字的相关文章

spring和hibernate整合时报sessionFactory无法获取默认Bean Validation factory

Hibernate 3.6以上版本在用junit测试时会提示错误: Unable to get the default Bean Validation factory spring和hibernate整合时报sessionFactory无法获取默认Bean Validation factory  ,是因为新版hibernate用到新的jar包造成的,默认会自动找验证包,吴国不需要这一步,可以在spring整合hibernate的配置节点中添加如下标红属性: <bean id="sessio

JavaScript如何获取对象实例的名字

大家都知道JavaScript是一种面向对象的语言,对象可以通过new关键字,实例化出来,但是,如果我想获取实例化对象的名字,怎么破?比如: 1 function Dog() { 2 this.myName = function() { 3 } 4 }; 5 6 var dog = new Dog(); 如何获取这个dog的名字"dog"呢?大家想过没,可以先想想! 其实大家想过没有,定义的全局变量为什么能够直接访问使用呢?实际上全局变量是绑定在window对象上的,都是window对

Java测试类获取spring bean方法

Java测试类获取spring bean方法 http://blog.163.com/lizhenming_2008/blog/static/76558333201362094243911/ 1.通过spring上下文 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationcontext.xml"); DataSource ds = (DataSource) ctx.getBean("d

C#中的文件路径获取函数和文件名字获取函数小结

1. 获取绝对文件路径 代码如下: System.IO.Path.GetFullPath(string path) string fileName = "myfile.ext"; string path1 = @"mydir"; string path2 = @"\mydir"; string fullPath; fullPath = Path.GetFullPath(path1); fullPath = Path.GetFullPath(fil

转!!spring @component 详解 默认初始化bean的名字 VNumberTask类 就是 VNumberTask

参考链接:信息来源 今天碰到一个问题,写了一个@Service的bean,类名大致为:CUser xml配置: <context:component-scan base-package="com.xxx.xx.x"/> 结果启动报错:No bean named 'cUser' is defined,即找不到名为cUser的bean bean的名字不是我预期的"cUser",临时将bean的名字硬性指定成了cUser来解决的,即:@Service(&quo

反射获取属性DisplayName特性名字以及属性值

原文:反射获取属性DisplayName特性名字以及属性值 /// <summary> /// 反射获取所有DisplayName标记值 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="model">需要获取的实体</param> /// <returns></returns>

Spring-程序中获取注册bean的方式

获得spring里注册Bean的四种方法,特别是第三种方法,简单: 一:方法一(多在struts框架中)继承BaseDispatchAction  import com.mas.wawacommunity.wap.service.UserManager; public class BaseDispatchAction extends DispatchAction { /** * web应用上下文环境变量 */ protected WebApplicationContext ctx; protec

Java Web(5)论如何在 Listener获取Spring Bean

1. 在Web系统开始运行前,需要在数据库里填充一些预置的数据.这里就需要一个在系统运行时,只运行一次的方法,来实现系统的初始化过程. 在这里,自然而然的想到了ServletContextListener这么一个监听器,在serlvet-api文档是这么描述的 Interface for receiving notification events about ServletContext lifecycle changes. 而刚好,一个web系统,就只有一个servletContext. 2.

Windows Minifilter驱动 - 获取进程ID, 进程名字和线程ID (5)

在minifilter里面可能有好几种获取调用进程id,名字和线程的办法.我这里有一种: 使用 PsSetCreateProcessNotifyRoutine 和 PsSetLoadImageNotifyRoutine 这是两个API,我们可以借助它们获取进程信息.具体看:http://msdn.microsoft.com/en-us/library/windows/hardware/ff559951(v=vs.85).aspx PsSetLoadImageNotifyRoutine 可以使用这