基于Xml方式Bean的配置-beanName个别名配置

SpringBean配置详解

Bean的基础配置

  • 例如前文涉及到的配置文件
复制代码
```XML
    <bean id="userService" class="com.example.Service.Impl.UserServiceImpl"/>
```
  • 此时存储到Spring容器(singleObjects单例池)中的beanName是userService,值是UserServiceImpl对象,可以根据beanName获取bean实例

    • 关键代码

      java 复制代码
              // 创建工厂对象
              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

    XML 复制代码
        <bean class="com.example.Service.Impl.UserServiceImpl"/>
    java 复制代码
            Object userService = beanFactory.getBean("com.example.Service.Impl.UserServiceImpl");
  • Bean的别名配置(几乎不使用)

    • 可以为当前bean配置多个别名、根据别名也可以获取bean对象

    XML 复制代码
        <bean id="userService" name="aaa,bbb" class="com.example.Service.Impl.UserServiceImpl">
    java 复制代码
            System.out.println(beanFactory.getBean("userService"));
            System.out.println(beanFactory.getBean("aaa"));
            System.out.println(beanFactory.getBean("bbb"));
    • 运行结果如下:

相关推荐
阿珊和她的猫14 分钟前
<video>` 和 `<audio>` 标签的常用属性解析
前端
嘟嘟w26 分钟前
Servlet的生命周期
java
LSL666_34 分钟前
4 jQuery、JavaScript 作用域、闭包与 DOM 事件绑定
前端·javascript·html
张较瘦_38 分钟前
SpringBoot3 | SpringBoot中Entity、DTO、VO的通俗理解与实战
java·spring boot·后端
yinuo1 小时前
前端跨页面通讯终极指南⑤:window.name 用法全解析
前端
小飞侠在吗1 小时前
vue computed 和 watch
前端·javascript·vue.js
may_一一1 小时前
docker安装的redis状态一直是restarting
java·redis·docker
yinuo1 小时前
前端跨页面通讯终极指南④:MessageChannel 用法全解析
前端
zhangyifang_0091 小时前
Spring中的SPI机制
java·spring
前端布鲁伊1 小时前
聊聊前端容易翻车的“环境管理”
前端·面试