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

news2025/2/24 3:49:14

文章目录

  • 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来获取bean
        User user = (User) context.getBean("user");
        
        //2. 通过类类型来获取bean
        User user = context.getBean(User.class);
        
        //3. 通过id+类类型来获取bean
        User user = context.getBean("user",User.class);

注:

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

使用Bean对象

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

独家揭秘!8种平面设计类型,你都了解吗?

当我们谈起平面设计时,大部分人可能会误以为平面设计只局限于处理二维(2D)元素,例如设计logo或海报等。这实际上是一个普遍的误解。事实上,平面设计的定义和应用范围要远远超越这个简单的概念。它更多的是采用各种平面…

【代码】考虑灵活性供需平衡的电力系统优化调度模型

程序名称:考虑灵活性供需平衡的电力系统优化调度模型 实现平台:matlab-yalmip-cplex/gurobi 代码简介:最可再生能源发电设备和并网技术快速发展,以新能源为主导的新型电力系统逐步形成。高比例新能源的随机波动性导致电力系统的…

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号,没有了多协议接入,只有新的物联网开放平台 第一讲,先给大家讲一下:新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个:大致符合你项目的即可,没有影响 选择智…

智能客服核心技术——预测会话与答案生成

1.信息检索 2. 句型模板匹配标准问题生成答案 3.根据知识图谱推理得到答案

模拟算法【1】

文章目录 😀1576. 替换所有的问号😆题目🤩算法原理🙂代码实现 😊495.提莫攻击🫠题目😉算法原理🤗代码实现 模拟算法 通俗的来说,模拟算法就是依葫芦画瓢,将题…

网络运维与网络安全 学习笔记2023.11.29

网络运维与网络安全 学习笔记 第三十天 今日更新太晚啦!!! 主要是今天工作时挨了一天骂,服了,下次记得骂的轻一点!!! (要不是为了那点微薄的薪资,谁愿意听你…

MySQL进阶知识:三

前言 未更新完毕!大概明天更完! 锁 MySQL中的锁,按照锁的粒度分,分为以下三类 全局锁:锁定数据库中的所有表。表级锁:每次操作锁住整张表。行级锁:每次操作锁住对应的行数据。 全局锁 全局…

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数,储存着Spark相关的配置信息,且必须指定Master(比如Local)和AppName(应用名称),否则会抛出异常;SparkContext 是程序执行的入口&#xf…

基于Halcon的二维码姿态矫正

任务要求: 下图中的二维码进行校正。(HALCON10.0自带例图,路径:“images/datacode/ecc200/ecc200_to_preprocess_001.png”) 任务分析: 图中的二维码存在畸变,需对其进行透射变换。首先获得图…

Java EE 多线程

文章目录 1. 认识线程1.1 什么是进程1.2 什么是线程1.2.1. 线程是怎么做到的呢?1.2.2. 进程和线程的关系 1.3 多线程编程1.3.1. 第一个多线程程序1.3.2. 使用 jconsole 命令查看线程1.3.3. 实现 Runnable 接口,重写 run1.3.4. 继承 Thread 重写 run&…

机器学习:领域自适应学习

训练一个分类器是小问题 上难度 训练数据和测试数据不一致,比如训练数据是黑白的,测试时彩色的,结果准确率非常低。 训练数据和测试数据有点差距的时候,能不能效果也能好呢?这就用到了领域自使用domain adptation 用一…

Hive数据倾斜之:数据类型不一致导致的笛卡尔积

Hive数据倾斜之:数据类型不一致导致的笛卡尔积 目录 Hive数据倾斜之:数据类型不一致导致的笛卡尔积一、问题描述二、原因分析三、精度损失四、问题解决 一、问题描述 如果两张表的jion,关联键分布较均匀,没有明显的热点问题&…

【Android Jetpack】Room数据库

文章目录 引入EntitiesPrimary Key主键索引和唯一性对象之间的关系外键获取关联的Entity对象嵌套对象Data Access Objects(DAOs)使用Query注解的方法简单的查询带参数查询返回列的子集可被观察的查询 数据库迁移用法 引入 原始的SQLite有以下两个缺点: …

uniapp2023年微信小程序头像+昵称分别获取

1、DOM <view class"m-user"><view class"user-info"><!--头像 GO--><button class"avatar avatar-wrapper" open-type"chooseAvatar" chooseavatar"onChooseAvatar"slot"right"><im…

GPU - cuda 安装

GPU - cuda 安装 环境搭建安装 0.确认你的电脑上有英伟达显卡 通过winR输入:control /name Microsoft.DeviceManager打开显示适配器&#xff0c;能看到显卡即可。我的版本是 3060 驱动版本 31.0.15.4617 1.查看主机显卡驱动版本. 主机GPU驱动版本决定你的主机最高能支持到什…

技术前沿丨Teranode如何实现无限扩容

​​发表时间&#xff1a;2023年9月15日 BSV区块链协会的技术团队目前正在努力开发Teranode&#xff0c;这是一款比特币节点软件&#xff0c;其最终目标是实现比特币的无限扩容。然而&#xff0c;正如BSV区块链协会网络基础设施负责人Jake Jones在2023年6月举行的伦敦区块链大会…

k8s中Pod控制器简介,ReplicaSet、Deployment、HPA三种处理无状态pod应用的控制器介绍

目录 一.Pod控制器简介 二.ReplicaSet&#xff08;简写rs&#xff09; 1.简介 &#xff08;1&#xff09;主要功能 &#xff08;2&#xff09;rs较完整参数解释 2.创建和删除 &#xff08;1&#xff09;创建 &#xff08;2&#xff09;删除 3.扩容和缩容 &#xff08…

点击元素以外的事件监听

在项目中&#xff0c;我们经常会遇到需要监听目标元素以外的区域被点击或鼠标移入移出等需求。 例如下面我们有一个表格里面嵌套表单的组件 我希望点击n行的时候&#xff0c;n行的元素变成表单元素进行输入或者选择&#xff0c; 当我点击其他其他区域n行又会恢复成数据展示…

C语言二十一弹 --打印空心正方形

C语言实现打印空心正方形 思路&#xff1a;观察图中空心正方形&#xff0c;可知首行列和尾行列被黑色外框包裹&#xff0c;其它均为空。所以按观察打印即可。 总代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main() {int n 0;while (scanf("%d&q…

2023年双十一报告(B站平台)

2023年双11购物节自10月24日开启预售&#xff0c;持续至11月13日落下帷幕。在购物狂欢期间&#xff0c;B站以更加成熟的姿态参战今年双11。 据B站官方数据显示&#xff0c;双11期间&#xff0c;B站带货GMV同比增长251%。其中视频带货GMV同比增长376%&#xff0c;直播带货GMV同…