存bean和取bean

    • 准备工作
    • 存bean
    • 获取bean三种方式

准备工作

bean:一个对象在多个地方使用。
spring和spring boot:spring和spring boot项目;spring相当于老版本
spring boot本质还是spring项目;为了方便spring项目的搭建;操作起来更加简单
spring(Core)核心项目;就是普通项目。并不是spring web项目
要求:MySQL5.7版本;idea 2021版本(因为相关插件在2022版本后收费)
准备工作:
1:创建Maven项目;保存的路径不能有中文
在这里插入图片描述
在这里插入图片描述
2:添加依赖
maven在国际站点上下载很容易出问题;但是我们可以配置国内源;国内的镜像网站。默认是从国外网站下载;下载还有最大时间限制。比如你网络畅通只能每秒1kb;下个1024kb;假设最大超时时间是60秒;过60秒没下好它就会报错了。
配置国内源:idea这两个地方都得配置
在这里插入图片描述

在这里插入图片描述
这里分两步走:
if(上述文件夹下有settings.xml文件);需要自己修改配置;使用vscode打开;这样子有颜色区分就很容易看出哪些是注释。就不必关注这些。
没配置的是如下效果:
在这里插入图片描述
把这个内容拷贝过去
在这里插入图片描述

 <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
      </mirror>

else:上述文件夹没有这个文件;直接拷贝现成版的。不需要再配置。
在这里插入图片描述

上述同样的操作再配置一遍:
在这里插入图片描述
随后maven刷新一下;就是我们之前手动在pom.mxl添加一个配置;我们也是需要在这里刷新后才触发的下载
在这里插入图片描述
但是这里有点问题;它只会下载没有完成的jar包。当你如果没配置国内源时有些jar包下载失败了;下到一半然后失败;这种jar包它是不会重新下载的;它是看你有没有的。所以我们在刷新前先清空本地仓库之前的所有jar包;在我们刚才配置的地方下一个。(把这里里面东西全部删掉;然后重新刷新maven)
在这里插入图片描述

添加spring依赖
spring依赖

在这里插入图片描述
使用5.x版本;5.3.26;6.x版本是要jdk17以上。在pom.mxl创建dependencies标签;粘贴进去。随后再刷新maven。

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.26</version>
</dependency>

下载一个;免费赠送多几个;context所依赖的。以上步骤设置完成;一次设置;后续都不需要再设置了。

在这里插入图片描述

存bean

创建一个启动类:正常在java里创建普通类;有main方法。存bean和取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"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--名字望文生义即可;这段配置文件保存下来-->
</beans>

注入对象:
id属性:给这个对象取个名字;然后你取的时候也是要名字来取的
class是类名;如果是你的类在某个包下;这里就得是路径;包名+类名
在这里插入图片描述

注意: 取和存的名字是要相同;存进去的名字就得是不能重复;没有找到bean的定义;xml或者bean的名字是不是对的
在这里插入图片描述

取bean:
在这里插入图片描述
ApplicationContext:是一个接口;当前可以认为它就代表spring本身。
还能使用:BeanFactory作为spring上下文;
BeanFactory beanFactory=new XmlBeanFactory(new ClassPathResource(“spring-config.xml”));
这两者的区别:
在这里插入图片描述
假设再增加一个老师类:里面有构造方法;用来验证对象有没有创建。我们把这个老师对象存进spring去、
在这里插入图片描述

区别:
代码执行到这一行;执行你xml里的代码;它会将所有的对象创建出来;才是真正把所有的对象存进spring去了。
在这里插入图片描述

第二种写法:对象都不创建的;要具体用谁才创建谁。懒加载;这样子效率确实是比较慢(要用的时候才创建这怎么行呢)getBean才会去加载对应的Bean。懒汉模式;上面是饿汉模式。这种是不会创建老师类的对象。

第一种:费内存;优点;一次性加载;之后的读取会非常的快。
第二种:省内存;调用时候才加载;性能比较低。(在以前内存有限;资源有限比较适合)
关系上:ApplicationContext是BeanFactory的子类;功能上不同;父类的功能是比子类小。

获取bean三种方式

上述获取bean的方式有点问题;取的时候是要强转;如果是null那不就报错了吗。
1:名称获取;刚才的写法。
在这里插入图片描述
2:根据类型获取;不需要强制转换;返回的就是这个类型
在这里插入图片描述
但是这种取法;我们会存在一个类型存多次(这种存放很常见;因为就相当于存多个对象);这样子直接用这种方法取;没有找到唯一bean的约束异常;它不知道应该用哪个。

3:根据类型和名称一块获取。这就能找到唯一的。这种是推荐的。在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue+express+mysql做一个简单前后端交互,从数据库中读取数据渲染到页面

1.下载上次的包 npm I &#xff0c;同时下载新的包 axios 2.打开数据库服务器&#xff0c;同时使用新建数据库一样&#xff0c;数据包名 3.新建一个项目 4.全局注册axios 5.新建一个server文件夹&#xff08;里面在建一个index.js的主文件&#xff09;用来放我们后端写的东西 …

数据结构与算法基础(王卓)(36):交换排序之快排【第三阶段:深挖解决问题】精华!精华!精华!!!重要的事情说三遍

目录 Review&#xff1a; 具体问题&#xff1a; 操作核心&#xff1a; 注&#xff1a; 操作分解&#xff1a; 操作实现&#xff1a; 问题&#xff08;1&#xff09;&#xff1a;进行不一样次数的 if / else 判断 问题&#xff08;2&#xff09;&#xff1a;通过判断条件…

TypeScript 最近各版本主要特性总结

&#xff08;在人生的道路上&#xff0c;当你的期望一个个落空的时候&#xff0c;你也要坚定&#xff0c;要沉着。——朗费罗&#xff09; TypeScript 官网 在线运行TypeScript代码 第三方中文博客 特性 typescript是javascript的超集&#xff0c;向javascript继承额外的编辑…

2023鲁大师评测沟通会:鲁大师尊享版登场、“鲁小车”正式上线

作为硬件评测界的“老兵”&#xff0c;鲁大师不仅有着十几年的硬件评测经验&#xff0c;并且一直都在不断地尝试、不断地推陈出新。在5月9日举行的“2023年鲁大师评测沟通会”上&#xff0c;鲁大师向大众展示了在过去一年间取得的成果。 PC业务迭代升级&#xff0c;鲁大师客户端…

干货满满!破解FP安全收款难题

怎样安全收款是做擦边产品卖家比较忧虑的问题&#xff0c;2023年已经即将来到了年中&#xff0c;跨境卖家们在这一方面做得怎么样了呢&#xff1f; 这期分享破解FP独立站收款难题的方法。 一、商家破解FP收款难题方法 1.第三方信用通道 优点&#xff1a;信用卡在国外使用率比…

好家伙,又一份牛逼笔记面世了...

最近网传的一些裁员的消息&#xff0c;搞的人心惶惶。已经拿到大厂offer的码友来问我&#xff1a;大厂还能去&#xff0c;去了会不会被裁。 还在学习的网友来问我&#xff1a;现在还要冲互联网么&#xff1f; 我是认为大家不用恐慌吧&#xff0c;该看啥看啥&#xff0c;该学啥…

ASEMI代理ADI亚德诺ADUM3211TRZ-RL7原厂芯片

编辑-Z ADUM3211TRZ-RL7参数描述&#xff1a; 型号&#xff1a;ADUM3211TRZ-RL7 数据速率&#xff1a;10 Mbps 传播延迟&#xff1a;50 ns 脉冲宽度失真&#xff1a;3 ns 脉冲宽度&#xff1a;100 ns 输出上升/下降时间&#xff1a;2.5 ns 供电电流&#xff1a;2.6 mA …

Maven与spring学习

目录 该如何学习Maven&#xff0c;是先该学习spring还是先学习Maven 能讲一下该如何学习Maven吗&#xff1f; 火狐浏览器有能让网页翻译成为中文的插件吗 秋田和柴犬是同一个狗吗 该如何学习Maven&#xff0c;是先该学习spring还是先学习Maven 学习Maven可以与学习Spring同…

一键安装k8s脚本

服务器配置 节点(华为云服务器)配置master 2vCPUs | 4GiB | s6.large.2 CentOS 7.8 64bit node1 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit node2 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit 1.master节点安装脚本&#xff1a;install_k8s_master.sh。 sh文件上传到…

2023数维杯数学建模ABC题思路分析

占个位置吧&#xff0c;开始在本帖实时更新数维杯数学建模赛题思路代码&#xff0c;文章末尾获取&#xff01; 持续为更新参考思路 赛题思路 已完成全部可以领取&#xff0c;详情看文末&#xff01;&#xff01;&#xff01; 数维杯A题思路 A题是这次比赛比较难的题目&…

windows下升级nodejs

重新安装新版nodejs 重新安装nodejs然后设置环境变量 安装yarn npm install -g yarn --registryhttps://registry.npm.taobao.org yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sa…

大数据如何助力营销(2)用户画像

用户画像是指根据用户的数据&#xff0c;构建出用户的特征和兴趣&#xff0c;从而对用户进行分类和个性化的过程。用户画像可以帮助营销人员更有效地触达目标客户&#xff0c;提高营销效果和转化率。 用户画像的价值 用户画像的价值主要体现在以下几个方面&#xff1a; 提升用…

信号signal编程测试

信号会打断系统调用&#xff0c;慎用&#xff0c;就是用的时候测一测。 下面是信号的基础测试 信号 信号&#xff08;signal&#xff09;机制是UNIX系统中最为古老的进程之间的通信机制。它用于在一个或多个进程之间传递异步信号。信号可以由各种异步事件产生&#xff0c;例如…

计算机毕业论文内容参考|基于三维建模和卷积神经网络的人脸转正的技术设计

文章目录 导文文章重点摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍技术分析技术设计人脸转正方法卷积神经网络的训练和优化数据预处理技术实现总结与展望本文总结导文 基于java开发汽车销售系统资料 文章重点 摘要 在实际应用中,人脸图像往往具有旋转、…

vue+elementui+nodejs校园高校餐厅点餐及订餐菜品推荐评价系统6927k

传统的销售模式&#xff0c;在实体店的紧跟式的销售模式&#xff0c;会给消费者一种不自由&#xff0c;被监视的感觉。餐厅点餐及推荐系统&#xff0c;紧跟数据时代的步伐&#xff0c;使用nodejs开发语言&#xff0c;配备MySQL数据库。扎根于实际问题所开发出来的一套系统。这个…

【C进阶】-- 字符串函数(1)

目录 0. 前言 1. 函数介绍 1.1 strlen 1.1.1主动改变\0的位置 ✅"strlen函数的返回类型是size_t - 无符号整型"✅ 当使用strlen函数但不引用头文件时&#xff0c;执行结果超出预料: 求字符串长度的方法&#x1f4a5; 1.计数器 2.递归 3.指针 - 指针 1.2 st…

项目集战略一致性

项目集战略一致性是识别项目集输出和成果&#xff0c;以便与组织的目标和目的保持一致的绩效领域。 本章内容包括&#xff1a; 1 项目集商业论证 2 项目集章程 3 项目集路线图 4 环境评估 5 项目集风险管理战略 项目集应与组织战略保持一致&#xff0c;并促进组织效益的实现。为…

粒子群算法(PSO)

理论&#xff1a; 粒子群优化算法&#xff08;PSO&#xff09;是一种智能优化算法&#xff0c;也是一种元启发式算法&#xff0c;最初是由Eberhart和Kennedy提出的&#xff0c;其模拟了鸟群捕食行为&#xff0c;通过一定的搜索策略&#xff0c;使得多个粒子在多维搜索空间中寻…

Java+Python+Paddle提取长文本文章中词频,用于Echart词云图数据

公司有个需求&#xff0c;就是需要提供给echart词云图的数据&#xff0c;放在以前我们的数据来源都是从产品那直接要&#xff0c;产品也是跑的别的接口&#xff0c;那怎么行呢&#xff0c;当然有自己的一套可以随便搞了&#xff0c;那么操作来了 Java package cn.iocoder.yud…

第十四届蓝桥杯大赛软件赛省赛(Java 大学A组)

蓝桥杯 2023年省赛真题 Java 大学A组 试题 A: 特殊日期  试题 B: 与或异或  试题 I: 高塔 把填空挂上跟大伙对对答案&#xff0c;然后 I \rm I I 题出的还行就先讲讲&#xff0c;剩下的最近有点忙&#xff0c;先放放。 试题 A: 特殊日期 本题总分&#xff1a;5 分 【问题描…