Spring---对象的存储和读取

文章目录

  • Spring对象的存储
    • 创建Bean对象
    • 将Bean对象存储到spring中
      • 添加配置文件
      • 存储Bean对象
  • Spring对象的读取
    • 得到Spring上下文对象
    • 从Spring中取出Bean对象
    • 使用Bean对象

Spring对象的存储

创建Bean对象

Bean对象其实就是一个普通的Java对象。我们按照创建Java对象的方式来创建一个即可:

public class User {public String sayHi(){return "hi";}
}

将Bean对象存储到spring中

添加配置文件

在这里插入图片描述
在这里插入图片描述

存储Bean对象

在这里插入图片描述

Spring对象的读取

得到Spring上下文对象

因为在 Spring 中,我们把对象都交给 Spring 处理了,所以要从 Spring 中获取对象时就需要得到 Spring 上下文对象来获取,一共有两种方式

//方式一:ApplicationContext   ""里的内容要和我们配置的xml的名称对应
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");//方式二:BeanFactory   ""里的内容也要和我们配置的xml的名称对应
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));

ApplicationContext vs BeanFactory:

  1. 从继承关系和功能方面来说,Spring 容器有两个顶级的接口:ApplicationContext 和 BeanFactory。其中 BeanFactory 提供了基础的访问容器的能力;而 ApplicationContext 属于BeanFactory
    的子类,它除了继承了 BeanFactory
    的所有功能外还拥有一些独有的特性,比如:添加了对国际化支持、资源访问支持及事件传播等方面的支持。
  2. 从性能方面来说,Application 是一次性加载并初始化所有的 Bean 对象,而 BeanFactory 是需要使用哪个才加载哪个

从Spring中取出Bean对象

获取 Bean 对象有三种方式,如下:

		//从spring中取出Bean对象//1. 通过Id来获取beanUser user = (User) context.getBean("user");//2. 通过类类型来获取beanUser user = context.getBean(User.class);//3. 通过id+类类型来获取beanUser user = context.getBean("user",User.class);

注:

  1. 根据 id 来获取 Bean 对象时,使用的 id 要和我们把 Bean 存储到配置文件中设置的 id 一样
  2. 根据类类型来获取 Bean 对象时,当 Spring 中有多个相同类型的对象时,就会获取失败
  3. 我们常用的方式是 id + 类类型 来获取 Bean 对象

使用Bean对象

我们获取到 Bean 对象后,对于 Bean 对象可以自由使用(想怎么使用怎么使用,不受限制)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/205225.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云原生】什么是 Kubernetes ?

什么是 Kubernetes ? Kubernetes 是一个开源容器编排平台,管理着一系列的 主机 或者 服务器,它们被称作是 节点(Node)。 每一个节点运行了若干个相互独立的 Pod。 Pod 是 Kubernetes 中可以部署的 最小执行单元&#x…

USB驱动开发基础

USB标准 USB1.0, 1996,低速1.5Mbps和高速12Mbps,USB1.1 iMac G3,Type A和Type B接口USB 2.0 2000, 480Mpbs,Type A/B/C接口、Micro A/BUSB 3.0 5Gbps, 随着USB 3.2命名规定,现在也叫USB 3.2 Ge…

Linux网络——数据链路层

目录 一.认识以太网 二.以太网帧格式 三.认识MAC地址 四.认识MTU 五.以太局域网的通信原理 六.其他重要协议 1.DNS协议 2.域名简介 3.ICMP协议 4.NAT技术 5.NAT技术的缺陷 6.NAT和代理服务器 一.认识以太网 "以太网" 不是一种具体的网络, 而是一种技术标…

docker (简介、dcoker详细安装步骤、容器常用命令)一站打包- day01

一、 为什么出现 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应…

数据库的重要你了解多少?如何保障数据库的安全?

随着信息技术的快速发展,数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而,随着数据库的广泛应用,其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…

常使用的定时任务

常使用的定时任务 一、 linux自带的定时任务 1、crontab 有这样一个需求:我们使用Java写一个工具jar包在系统空闲的时候去采集已经部署在Linux系统上的项目的一 些数据,可以使用 linux 系统的 crontab。 运行crontab -e,可以编辑定时器&…

C语言——深入理解指针(3)

目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参(本质) 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表(函数指针数组的使用&#xff…

sqli-labs(7)

32. 看到“前面有了\这里使用宽字节注入 当字符的大小为一个字节时为窄字节 当字符的大小为两个字节时为宽字节 英文字符的大小为一个字节,汉字为两个 漏洞产生的成因在sql中使用像GB2312,GBK,GB18030,BIG5,Shift_JIS这些宽字节编码而php使用utf-8编码 为了防止注…

token认证机制,基于JWT的Token认证机制实现,安全性的问题

文章目录 token认证机制几种常用的认证机制HTTP Basic AuthOAuthCookie AuthToken AuthToken Auth的优点 基于JWT的Token认证机制实现JWT的组成认证过程登录请求认证 对Token认证的五点认识JWT的JAVA实现 基于JWT的Token认证的安全问题确保验证过程的安全性如何防范XSS Attacks…

基于YOLOv5的人群计数系统设计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 基于YOLOv5的人群计数系统设计是一个非常有趣且具有挑战性的项目…

第20章 多线程

创建线程 继承Thread 类 Thread 类时 java.lang 包中的一个类,从类中实例化的对象代表线程,程序员启动一个新线程需要建立 Thread 实例。 Thread 对象需要一个任务来执行,任务是指线程在启动时执行的工作,start() 方法启动线程&am…

java开发需要用到的软件,必备软件工具一览

java开发需要用到的软件,必备软件工具一览 如果你对Java编程感兴趣或已经是一名Java开发者,你需要一些必备的软件工具来提高你的生产力和简化开发过程。在本文中,我们将探讨Java开发所需的关键软件工具,并通过具体示例来解释它们的…

人力资源管理后台 === 上传+权限数据

目录 1.员工详情-封装员工头像组件 2.员工详情-上传图片-创建腾讯云存储桶 3.员工详情-使用cos-sdk完成上传 4. 权限管理-搭建权限页面 5.权限管理-获取数据转化树形 6.权限管理-作业 7.权限应用-权限概念 8.权限应用-员工分配角色-弹出层 9.权限应用-员工分配角色-回…

15:00面试,15:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

【计算机网络】虚拟路由冗余(VRRP)协议原理与配置

目录 1、VRRP虚拟路由器冗余协议 1.1、协议作用 1.2、名词解释 1.3、简介 1.4、工作原理 1.5、应用实例 2、 VRRP配置 2.1、配置命令 1、VRRP虚拟路由器冗余协议 1.1、协议作用 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF…

前端开发学习 (三) 列表功能

一、列表功能 1、列表功能 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compa…

【hacker送书第4期】推荐4本Java必读书籍(各送一本)

第4期图书推荐 Java从入门到精通&#xff08;第7版&#xff09;内容简介参与方式 项目驱动零基础学Java内容简介参与方式 深入理解Java高并发编程内容简介参与方式 Java编程讲义内容简介参与方式 Java从入门到精通&#xff08;第7版&#xff09; 内容简介 《Java从入门到精通&…

Leetcode—160.相交链表【简单】

2023每日刷题&#xff08;四十一&#xff09; Leetcode—160.相交链表 算法思想 两个链表的节点之和是相等的 如果两个链表相交&#xff0c;那么相交点之后的长度是相同的 我们需要做的事情是&#xff0c;让两个链表从同距离末尾同等距离的位置开始遍历。这个位置只能是较短…

python操作Mysql学习

文章目录 版权声明准备&#xff1a;MYSQL数据库数据库简介数据库分类数据库管理系统SQL语句关系型数据库中核心元素MySQL环境搭建Mysql数据类型数据完整性和约束MYSql基本操作登录和退出数据库命令数据库基本操作命令数据表基本操作命令数据表结构修改命令表数据操作命令Mysql查…

【Python3】【力扣题】349. 两个数组的交集

【力扣题】题目描述&#xff1a; 【Python3】代码&#xff1a; 1、解题思路&#xff1a;集合的交集。两个数组都转为集合&#xff0c;获取集合的交集。 知识点&#xff1a;set(...)&#xff1a;转为集合&#xff0c;集合的元素不重复。 集合1.intersection(集合2)&#xff1a…