基于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"));
    • 运行结果如下:

相关推荐
编程社区管理员20 小时前
React 发送短信验证码和验证码校验功能组件
前端·javascript·react.js
全马必破三20 小时前
React“组件即函数”
前端·javascript·react.js
三思而后行,慎承诺20 小时前
React 底层原理
前端·react.js·前端框架
座山雕~20 小时前
html 和css基础常用的标签和样式
前端·css·html
汤姆yu21 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林55121 小时前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿21 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
im_AMBER21 小时前
React 16
前端·笔记·学习·react.js·前端框架
02苏_21 小时前
ES6模板字符串
前端·ecmascript·es6
excel21 小时前
⚙️ 一次性警告机制的实现:warnOnce 源码深度解析
前端