使用注释,如何手动得到spring bean

在应用spring注释时,所有的bean多是自动装载,没有使用配置文件,也就不知道bean的名字,那么怎么手动获得bean呢,试了一下,试出下面的方法。

 

WebApplicationContext cont = WebApplicationContextUtils .getRequiredWebApplicationContext(request.getSession().getServletContext());
   System.out.println(cont.getBean("departmentManager"));

“ departmentManager ”是指你的类名第一个字母小写。

我是通过

for (int i = 0; i < cont.getBeanDefinitionNames().length; i++) {
    System.out.println(cont.getBeanDefinitionNames()[i]);
}

 这个方法查到的,但是不知道会不会随环境的变化而变化?有知道的朋友留个言,谢谢!

缺省就是类名,不过是小写开头。你也可以在注释中设定Bean的名字。

你用注释的方式,还是可以设置bean的唯一名称的,

使用可以参考下
http://www.iteye.com/topic/244153

[color=red]@Component("abc")[/color]
public class XXX{

}

这个component注释可选,用来定义你bean的id