一个bean标签对应一个对象,bean标签中的id值要唯一
<bean id="someService" class="com.example.service.impl.SomeServiceImpl"/> <bean id="someService01" class="com.example.service.impl.SomeServiceImpl"/>
spring默认创建对象的时候:在创建spring容器时,会创建配置文件中的所有对象
@Test /* * spring默认创建对象的时候:在创建spring容器时,会创建配置文件中的所有的对象 * */ public void test02(){ //使用spring容器创建的对象 //1.指定spring 配置文件的名称 String config = "beans.xml"; //2.创建表示spring容器的对象,ApplicationContext //ApplicationContext就是表示spring容器,通过容器获取对象 //ClassPathXmlApplicationContext:表示从类路径中加载spring的配置文件 ApplicationContext ac = new ClassPathXmlApplicationContext(config); //从容器中获取某个对象,你要调用对象的方法 //getBean("配置文件中的bean的id值") //SomeService service = (SomeService) ac.getBean("someService"); //使用spring创建好的对象 //service.doSome(); }
运行结果:
SomeServiceImpl的无参构造方法
SomeServiceImpl的无参构造方法
获取容器对象信息的两种常用方法
@Test public void test03(){ String config = "beans.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(config); //使用spring提供的方法,获取容器中定义的对象的数量 int nums = ac.getBeanDefinitionCount(); System.out.println("容器中定义的对象数量"+nums); //容器中每个定义的对象的名称 String names[] = ac.getBeanDefinitionNames(); for(String name:names){ System.out.println(name); } }
运行结果:
SomeServiceImpl的无参构造方法
SomeServiceImpl的无参构造方法
容器中定义的对象数量2
someService
someService01