SpringBean配置详解
-
Bean的基础配置
- 例如前文涉及到的配置文件
-
<bean id="userService" class="com.example.Service.Impl.UserServiceImpl"/>
-
此时存储到Spring容器(singleObjects单例池)中的beanName是userService,值是UserServiceImpl对象,可以根据beanName获取bean实例
-
关键代码
// 创建工厂对象 DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); // 创建读取器(读取xml文件中的bean对象) XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); // 当前是XML配置的方式,将读取器与工厂绑定 // 读取器读取对象给工厂 reader.loadBeanDefinitions("application.xml"); // 获取bean对象 Object userService = beanFactory.getBean("userService"); System.out.println(userService);
-
-
如果不配置id,则Spring会把当前Bean实例全限定名作为beanName
-
<bean class="com.example.Service.Impl.UserServiceImpl"/>
-
Object userService = beanFactory.getBean("com.example.Service.Impl.UserServiceImpl");
-
-
Bean的别名配置(几乎不使用)
-
可以为当前bean配置多个别名、根据别名也可以获取bean对象
-
<bean id="userService" name="aaa,bbb" class="com.example.Service.Impl.UserServiceImpl">
-
System.out.println(beanFactory.getBean("userService")); System.out.println(beanFactory.getBean("aaa")); System.out.println(beanFactory.getBean("bbb"));
-
运行结果如下:
-