当前位置: 首页 > article >正文

【Spring】第三弹:基于 XML 获取 Bean 对象

一、获取 Bean 对象

1.1 根据名称获取 Bean 对象

由于 id 属性指定了 bean 的唯一标识,所以根据 bean 标签的 id 属性可以精确获取到一个组件对象。

1.确保存在一个测试类:

public class HelloWorld {

    public void sayHello(){
        System.out.println("helloworld");
    }
}

2.通过名称获取 Bean 对象

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="helloWorld" class="Test.HelloWorld"></bean>
</beans>

1.2 根据类型查找 Bean 对象


public static void main(String[] args) {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
    //HelloWorld helloWorld = (HelloWorld)applicationContext.getBean("helloWorld");
    HelloWorld helloWorld =(HelloWorld)applicationContext.getBean(HelloWorld.class);
            helloWorld.sayHello();
    log.info("日志输出完成");
}

1.3 根据名称和类型查找 Bean 对象

public static void main(String[] args) {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
    //HelloWorld helloWorld = (HelloWorld)applicationContext.getBean("helloWorld");
    //HelloWorld helloWorld =(HelloWorld)applicationContext.getBean(HelloWorld.class);
    HelloWorld helloWorld =(HelloWorld)applicationContext.getBean("helloWorld",HelloWorld.class);
    helloWorld.sayHello();
    log.info("日志输出完成");
}

1.4 如果存在相同类型的多个Bean对象

1.类型相同名称不同的多个Bean对象,可以通过名称的不同查找到对象

2.类型相同名称不同的多个Bean对象,如果通过类型查找会报错:

3.建议根据 名称+类型 的方式进行Bean对象的查找

获取Bean对象的方式需要确保获取对象的唯一性


http://www.kler.cn/a/591143.html

相关文章:

  • 兆芯大道云行 | 破解高性能云计算数据存储瓶颈
  • 3.8 Spring Boot监控:Actuator+Prometheus+Grafana可视化
  • 3.17BUUCTF练习day1
  • Java高频面试之集合-14
  • hcia复习
  • Kafka跨集群数据备份与同步:MirrorMaker运用
  • 错排(数学层面)
  • Django:内置和自定义中间件
  • k8s资源管理介绍
  • 在 Visual Studio Code 中高效使用 Pylance:配置、技巧与插件对比
  • 【机器学习】基于conda虚拟环境的gcc、g++版本升级
  • 桌子(table、desk)以及其他常见物体的urdf模型,用于搭建机器人环境如pybullet、Gazebo
  • Vue下载与安装步骤
  • PCIe(Peripheral Component Interconnect Express)详解
  • Feign 调用接口跟调用本地方法一样,这个是怎么实现的?
  • 集成电路制造中LIMS系统的应用 内检LIMS在集成电路的作用
  • 运动焦虑锻炼贴士
  • 数据结构 -- 二叉树的存储结构
  • keepalived的工作原理和脑裂
  • ubuntu24.04虚拟机系统中挂载rootfs.img到rootfs_dir目录,使用chroot切换根目录到roofs_dir报错