Spring的IOC/DI,依赖注入的实现
Spring的IOC/DI,依赖注入的实现
https://download.csdn.net/download/weixin_41957626/87546826 资源地址
1.什么是Spring
1.1spring3 的体系结构图

图1 spring3的体系结构图

图2 spring4体系结构图
比较spring3的体系结构图,spring4去掉了spring3中的struts模块,添加了messaging模块和websocket模块,其他模块保持不变。spring的jar包有20个。
1.下面是spring4和5的区别?
在增强开发方面spring4是web开发增强,spring5是JDK8的增强。
在特性改进方面spring4是注解、脚本、任务、MVC等其他特性改进,spring5是测试方面的改进。
2.IOC/DI
2.1 IOC/DI
1.控制反转或者是依赖注入的含义。面向接口的编程。
2.实现方式
- 采用工厂类的方式
- 采用spring的ioc实现
2.2Spring的配置
1.依赖导入
<!-- spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.24</version>
</dependency>
2.创建配置文件
<?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指定的是bean的名称
class指定的是bean所在的地址
ref指定的是要引入的bean
property设置的是bean的依赖的项,ref采用的是引用的数据类型的方式,value是赋一般的值的形式
-->
<bean id="studentDao" class="cn.lxz.dao.impl.StudentDaoImpl"/>
<bean id="studentService" class="cn.lxz.service.impl.StudentServiceImpl">
<property name="studentDao" ref="studentDao"/>
</bean></beans>
3.项目目录

图3 项目目录
4.实现的代码
采用的是gif的形式展示

图4 spring代码展示
测试类代码
@Test
public void testContext(){
//采用的是读取xml的文件的配置形式
ApplicationContext context= new ClassPathXmlApplicationContext("Spring-context.xml");
StudentService service1= context.getBean(StudentService.class);
StudentService service2= (StudentService)context.getBean("studentService");
System.out.println(service1);
System.out.println(service2);
service1.addStudent(new Student(1,"张三"));
}

图5 效果图
相关文章:
Spring的IOC/DI,依赖注入的实现
Spring的IOC/DI,依赖注入的实现 https://download.csdn.net/download/weixin_41957626/87546826 资源地址 1.什么是Spring 1.1spring3 的体系结构图 图1 spring3的体系结构图 图2 spring4体系结构图 比较spring3的体系结构图,spring4去掉了spring3中的st…...
【tensorflow onnx】TensorFlow2导出ONNX及模型可视化教程
文章目录1 背景介绍2 实验环境3 tf2onnx工具介绍4 代码实操4.1 TensorFlow2与ONNX模型导出4.2 ONNX正确性验证4.3 TensorFlow2与ONNX的一致性检查4.4 多输入的情况4.5 设定输入/输出节点5 ONNX模型可视化6 ir_version和opset_version修改7 ONNX输入输出维度修改8 致谢原文来自于…...
天梯赛训练L1-013--L1-015
目录 1、L1-013 计算阶乘和 2、L1-014 简单题 3、L1-015 跟奥巴马一起画方块 1、L1-013 计算阶乘和 分数 10 题目详情 - L1-013 计算阶乘和 (pintia.cn) 对于给定的正整数N,需要你计算 S1!2!3!...N!。 输入格式: 输入在一行中给出一个不超过10的正…...
进程(操作系统408)
进程的概念和特征 概念: 进程的多个定义: 进程是程序的一次执行过程 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 进程时具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位 上面所说…...
浅谈运维工程师的开发能力的培养
写在前面 本文已获得作者授权,作者的博客地址:https://www.cuiliangblog.cn/ 原文链接:浅谈运维工程师的开发能力的培养 一、运维工程师发展路线 1. 传统运维 侧重点是解决具体的问题。要求具备扎实的底层的知识储备,如网络、l…...
Netcode升级到1.2.0网络变量的变化的变化
Netcode升级到1.2.0网络变量的变化1 概述2 继承网络变量 NetworkVariable,派生类构造出错的问题2.1 代码描述2.2 问题记录2.3 解决办法:使用 NetworkVariable 即可3 网络变量 NetworkVariable 类的版本差异比较3.1 差异说明3.2 [1.0.2]版本的网络变量3.3…...
冥想第七百二十二天
1.周六去给朋友讲了一天的软件,给朋友带了2袋面包边,几袋方便面。感谢朋友的款待,做的蒸菜双拼,柠檬风爪,排骨汤,汤圆,牛肉,孜然回锅肉。 2.讲到下午五点,就回去了。感觉…...
AB测试——流程介绍(定义问题和指标选取)
前言: 作为AB测试的学习记录,本文主要介绍了AB测试的基本流程,以及指标类型和如何选取合适指标。 相关文章:AB测试——原理介绍 AB测试的基本流程是什么? AB测试(也称为分流测试)是一种常用的实…...
Linux(Centos)安装Minio集群
目录1:简介2:功能与集成3:架构4:搭建集群4.1:挂载磁盘4.1.1:要求4.1.2:创建挂载目录4.1.3:注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会…...
LeetCode 1662. 检查两个字符串数组是否相等 / 795. 区间子数组个数 / 剑指 Offer 47. 礼物的最大价值
1662. 检查两个字符串数组是否相等 2022.11.1 新的一月又开始了 题目描述 给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的…...
【C++】缺省参数函数重载
🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、缺省参数1.1 缺省参数的概念1…...
Hbuilder 下载与安装教程
文章目录Hbuilder下载与安装教程Hbuilder简介一,下载Hbuilder二,安装Hbuilder三,简单使用四,Hbuilderx 调试Hbuilder下载与安装教程 Hbuilder简介 Builder是DCloud(数字天堂)推出的一款支持HTML5的Web开发…...
Mybatis工程升级到FlunetMybatis后引发的问题以及解决方法
0. 背景交代为了提高开发速度,我打算将公司原有Mybatis框架升级为FlunetMybatis。可是遇到了一系列问题,下面开始爬坑工程结构示意如下:src/ ├── main │ ├── java.com.demo │ │ ├── Application.java //S…...
Oracle VM VirtualBox6.1.36导入ova虚拟机文件报错,代码: E_INVALIDARG (0x80070057)
问题 运维人员去客户现场部署应用服务,客户是windows server 服务器(客户不想买新机器),我们程序是在linux系统里运行(其实windows也可以,主要是为了保持各地环境一致方便更新和排查问题)我们使…...
Superset数据探索和可视化平台入门以及案例实操
1、Superset背景 1.1、Superset概述 Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。 1.2、环境说明 …...
VisualSP Enterprise - February crack
VisualSP Enterprise - February crack VisualSP(可视化支持平台)提供了一个上下文中完全可定制的培训平台,它可以作为企业web应用程序的覆盖层提供。无论员工正在使用什么应用程序,他们都能够快速访问页面培训和指导,说明如何最有效地使用该…...
004+limou+HTML——(4)HTML表格
000、前言 表格在实际开发中的应用还是比较多的,表格可以更加清晰地排列数据 001、基本结构 (1)构成 表格:<table>行:<tr>(table row,表格行),由多少组t…...
uniapp实现自定义相机
自定义相机起因由于最近用uniapp调用原生相机容易出现闪退问题,找了很多教程又是压缩图片又是优化代码,我表示并没有太大作用!!实现自定义相机使用效果图拓展实现多种自定义相机水印相机身份证相机人像相机起因 由于最近用uniapp调用原生相机容易出现闪退…...
插值多项式的龙格现象的介绍与模拟
在文章拉格朗日插值多项式的原理介绍及其应用中,笔者介绍了如何使用拉格朗日插值多项式来拟合任意数据点集。 事实上,插值多项式会更倾向于某些形状。德国数学家卡尔龙格Carl Runge发现,插值多项式在差值区间的端点附近会发生扭动&#x…...
Spring整体架构包含哪些组件?
Spring是一个轻量级java开源框架。Spring是为了解决企业应用开发的复杂性而创建的,它使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何java应用都可以从…...
LVF时序变异分析:原理、应用与EDA工具支持
1. 什么是LVF(Liberty Variance Format)?在芯片设计领域,时序分析是确保电路性能符合预期的重要环节。Liberty Variance Format(LVF)是一种用于描述时序变异的新方法,它解决了传统Stage Based O…...
Java SPI机制原理与实战
前言 在现代软件开发中,Java SPI机制原理与实战是一个非常重要的技术点。本文将从原理到实践,带你深入理解这一技术,并通过完整的代码示例帮助你快速掌握核心知识点。 核心概念 基本原理 Java SPI机制原理与实战的核心在于理解其底层机制。以…...
我的crontab脚本总是不执行?一份超全的Linux定时任务排错自查清单
我的crontab脚本总是不执行?一份超全的Linux定时任务排错自查清单 当你深夜收到服务器告警,发现关键备份任务没有按时执行时,那种头皮发麻的感觉每个运维人员都懂。crontab作为Linux系统最常用的定时任务工具,看似简单的配置背后…...
鸿蒙electron跨端框架PC墨案写作实战:把 Markdown 正文区做成桌面写作的中心
前言 欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态:鸿蒙PC开发者社区 :https://harmonypc.csdn.net/ 项目开源地址:https://AtomGit.com/lqjmac/ele-moanxiezuo 墨案写作这个小工具看起来轻,但真正落地时要先把…...
Unity Android StreamingAssets路径原理与安全读取方案
1. 为什么这个路径问题会让人反复踩坑?在Unity Android项目里,StreamingAssets路径看似只是个字符串拼接问题,但实际开发中,它几乎是我接手过的每个中大型项目必修的“排障课”。不是因为代码难写,而是因为——它在不同…...
线性化多噪声训练:提升混沌系统长期预测稳定性的正则化技术
1. 项目概述:当机器学习遇上混沌,如何让预测“长治久安”?在天气预报、气候模拟乃至金融市场分析中,我们常常需要面对一类“混沌系统”。这类系统的特点是,其短期行为虽然遵循确定的规律,但长期演化对初始条…...
模块化AI:从大脑启示到工程实践,构建高效智能系统的核心范式
1. 引言:为什么我们需要重新审视“模块化”?在人工智能领域,我们正处在一个看似矛盾的时代。一方面,以大型语言模型(LLM)和深度神经网络(DNN)为代表的“单体巨兽”展现出了前所未有的…...
类和对象概括
类与对象的概念在Java中,类是对象的模板或蓝图,定义了对象的属性和行为。对象是类的实例,具有类定义的属性和方法。类的定义类通过class关键字定义,包含成员变量(属性)和方法(行为)。…...
AI系列【仅供参考】:周末用笔记本搞点大事:手把手教学部署 1.5、7B 版本 DeepSeek 智能助手
周末用笔记本搞点大事:手把手教学部署 1.5、7B 版本 DeepSeek 智能助手周末用笔记本搞点大事:手把手教学部署 1.5、7B 版本 DeepSeek 智能助手一、工具介绍1.1 DeepSeek1.2 Ollama二、准备工作2.1 系统要求2.2 下载 Ollama 安装包三、Ollama 的安装与验证…...
小模型爆发出惊人能量!斯坦福开源框架AgentFlow如何实现复杂任务中的可靠工具使用?
本文介绍了斯坦福大学开源的模块化智能体框架AgentFlow,它通过独特的架构设计和训练方法,在工具集成和规划能力上取得了突破性进展。AgentFlow以Qwen-2.5-7B-Instruct为基础,在10个基准测试中表现突出,超越了大50倍的模型和GPT-4o…...
