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

相关推荐
chools3 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
懂懂tty3 小时前
CRA 迁移 Rspack(实战)
前端·架构
李白你好4 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
小码哥_常4 小时前
Kotlin 助力 Android 启动“大提速”
前端
U盘失踪了5 小时前
Java 的 JAR 是什么?
java·jar
GreenTea5 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
Jagger_5 小时前
能不能别再弄低代码害人了
前端
朦胧之5 小时前
AI 编程开发思维
前端·后端·ai编程
今天又在写代码5 小时前
java-v2
java·开发语言
踩着两条虫6 小时前
VTJ:快速开始
前端·低代码·架构