@Test public void test4() { ApplicationContext ctx = newClassPathXmlApplicationContext("/applicationContext.xml");
Person person = ctx.getBean("person", Person.class); // 不需要强制类型转换 System.out.println(person); // com.redisc.Person@768b970c
// 当前 Spring 的配置文件中,只能有一个 <bean class 是 Person 类型 // 不需要强制类型转换 System.out.println(ctx.getBean(Person.class)); // com.redisc.Person@768b970c
// 获取的是 Spring 工厂配置标签所有的 bean 标签的 id 值 String[] beans = ctx.getBeanDefinitionNames(); for (String bean : beans) { System.out.println(bean); // person user }
//只获取固定 type 的 bean id String[] beanNameForType = ctx.getBeanNamesForType(Person.class); for (String bean : beanNameForType) { System.out.println(bean); // person } // 用于判断是否存在指定 id 值的 bean if (ctx.containsBean("person")) { System.out.println("123"); }