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

相关推荐
2301_781392521 分钟前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化
Java后端的Ai之路18 分钟前
【Java教程】- 并发编程核心知识解读
java·开发语言·并发编程
椰羊~王小美21 分钟前
为什么@Builder 注解默认父类字段不可见
java
一 乐23 分钟前
学生宿舍管理|基于springboot + vue学生宿舍管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·助农电商系统
一人の梅雨23 分钟前
义乌购商品详情接口进阶实战:批发场景下的精准解析与高可用架构
java·服务器·前端
bin915327 分钟前
(文后附完整代码)html+css+javascript 弓箭射击游戏项目分析
前端·javascript·css·游戏·html·前端开发
Dontla28 分钟前
Mybatis Introduction (Java ORM Framework)
java·开发语言·mybatis
信码由缰30 分钟前
JExten:基于Java模块系统(JPMS)构建健壮的插件架构
java·开发语言·架构
NuageL33 分钟前
SpringBoot使用@Scheduled注解实现定时任务
java·spring boot·后端
翱翔的苍鹰36 分钟前
完整的“RNN + jieba 中文情感分析”项目的Gradio Web 演示的简单项目
前端·人工智能·rnn