名词解释:Spring 工厂创建的对象,叫做 bean 或者 组件 (componet);

getBean:传入 id值 和 类名 获取对象,不需要强制类型转换。

// 通过这种方式获得对象,就不需要强制类型转换
Person person = ctx.getBean("person", Person.class);
System.out.println("person = " + person);

getBean:只指定类名,Spring 的配置文件中只能有一个 bean 是这个类型。

// 使用这种方式的话, 当前Spring的配置文件中 只能有一个bean class是Person类型
Person person = ctx.getBean(Person.class);
System.out.println("person = " + person);

getBeanDefinitionNames:获取 Spring 配置文件中所有的 bean 标签的 id 值。

// 获取的是Spring工厂配置文件中所有bean标签的id值  person person1
String[] beanDefinitionNames = ctx.getBeanDefinitionNames();
for (String beanDefinitionName : beanDefinitionNames) {System.out.println("beanDefinitionName = " + beanDefinitionName);
}

getBeanNamesForType:根据类型获得 Spring 配置文件中对应的 id 值。

// 根据类型获得Spring配置文件中对应的id值
String[] beanNamesForType = ctx.getBeanNamesForType(Person.class);
for (String id : beanNamesForType) {System.out.println("id = " + id);
}

containsBeanDefinition:用于判断是否存在指定 id 值的 bean,不能判断 name 值

// 用于判断是否存在指定id值的bean,不能判断name值
if (ctx.containsBeanDefinition("person")) {System.out.println(true);
} else {System.out.println(false);
}

containsBean:用于判断是否存在指定 id 值的 bean,也可以判断 name 值

// 用于判断是否存在指定id值的bean,也可以判断name值
if (ctx.containsBean("p")) {System.out.println(true);
} else {System.out.println(false);
}

Spring 工厂的相关的方法相关推荐

  1. 【Spring 工厂】工厂设计模式、第一个Spring程序细节分析、整合日志框架

    Spring 引言 什么是 Spring? 工厂设计模式 简单工厂的设计 通用工厂的设计 通用工厂的使用方式 第一个 Spring 程序 环境搭建 Spring 的核心API 程序开发 细节分析 Sp ...

  2. 【Spring 工厂,西安富士通Java笔试题

    代理 模板 策略 什么是设计模式? ⼴义概念:面向对象设计中,解决特定问题的经典代码. 狭义概念:GOF4人帮定义的23种设计模式:工厂.适配器.装饰器.门面.代理.模板- 工厂设计模式 什么是工厂设 ...

  3. JAVA面试汇总第四章 Spring及数据库相关

    Spring 核心功能演示 + 面试题 Spring Framework 简称 Spring,是 Java 开发中最常用的框架,地位仅次于 Java API,就连近几年比较流行的微服务框架 Sprin ...

  4. 使用Spring Security3的四种方法概述

    使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...

  5. 转:Spring Boot 获取 HttpServletRequest 的方法

    转自: Spring Boot 获取 HttpServletRequest 的方法 - 简书本文介绍 Spring Boot 2 获取 HttpServletRequest 的方法. 目录 概述 方法 ...

  6. 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式

    反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...

  7. 【Spring 工厂】注入详解 — Set注入(JDK内置类型,用户自定义类型)、构造注入(重载)

    Spring 注入(Injection) 什么是注入? 为什么要注入? 如何进行注入[开发步骤] Spring注入的原理分析(简易版) Set注入详解 JDK内置类型 String+8种基本类型 数组 ...

  8. Spring Bean 配置相关的注意事项

    数据访问注意事项 本部分介绍与访问事务中的数据的 Spring Bean 配置相关的注意事项. Spring Framework 实际上使用一个容器管理层(在 J2EE 环境中委托给基础 J2EE 运 ...

  9. Spring声明式事务配置管理方法

    /*2011年8月28日 10:03:30 by Rush  */ 环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可.添加 ...

最新文章

  1. bzoj 4372: 烁烁的游戏 动态点分治_树链剖分_线段树
  2. 杭州优步uber司机第三组奖励政策
  3. 【NLP】让AI读懂法律文书:一种基于多分类的关键句识别方法
  4. linux如何删除符号链接文件夹,在Linux中怎样移除(删除)符号链接
  5. android代理生命周期,了解 Activity 生命周期
  6. Magento: 获取客户信息 Get Customer’s Full Name, First Name, Last Name and Email Addres
  7. 死锁的充分必要条件、死锁预防、死锁避免、死锁检测和解除
  8. 华为亮相英国首次 5G 直播;百度 AI 接入医院信息系统;小米成立质量办公室 | 极客头条...
  9. 墙后的所有姿势,全被“瞎眼”AI透视
  10. mysql linux查看配置文件my.cnf位置
  11. 如何制作关于pos.txt序列的文件
  12. SpringCloud优点、缺点
  13. html的nofollow标签,HTML中的A标签的nofollow属性解读
  14. AutoCAD文档01——安装教程
  15. Mathematica 训练课(3)- 简单图形绘制
  16. 【我不熟悉的css】css使用background-clip,实现圆角彩色的边框,文字渐变色
  17. 【叶神中级】四篇-3.页面访问
  18. Android笔记之天气预报接口
  19. 海思SDK安装过程以及OSDRV编译不成功出现的问题的解决
  20. 专访松下 | 20多年养老经验,日本养老标杆落地中国的经验与挑战

热门文章

  1. 列表导航栏实例(04)——精美模板赏析
  2. IDEA JRebel热部署插件免费使用方法
  3. 【Python数据结构】 抽象数据类型 Python类机制和异常
  4. web项目实现mysql增删改查并从前端页面操作
  5. (2015-12-09)java.util.Arrays的用法
  6. WPF学习之路(六)Command
  7. SL专题2:加入并熟悉Second Life世界
  8. vertica导出导入数据
  9. 增长黑客系列:今天比昨天增长多少?快使用环比函数来分析日志
  10. python综合练习1-- 用户登录