Spring 之 IoC 学习笔记

Spring 学习笔记①:IoC容器、Bean与注入 IoC容器、Bean与注入 阅读详情

1.为了代码的灵活性,我们一般采用面向接口编程,使用接口定义变量。

2.使用XXXServer 对XXX进行统一的操作,XXXServer   调用  XXX  的  XXXDAOImpl方法进行数据库的操作,实现对数据操作的封装。 XXXDAOImpl  实现了  XXXDAO 接口。

当 有多个  XXXServer  时,采用更大的  工厂类 或者  配置文件进行  统一管理。

3.测试时,建立  相应的 test  文件夹。

4.Spring 配置文件中在读 bean 的时候是用的反射机制的jvm的.class文件(采用classLoader)在调用类的方法。

5.什么是I o C ?   (DI  依赖注入)

把要自己new的东西改为由容器来提供(初始化具体值,装配)

6.依赖注入的两种方式:setter注入、构造器注入

7.在bean中其实name属性和id属性是一样的。

8.Bean 中基本数据类型的注入,直接使用value=""或使用<property>的自标签<value>,这一般在配置数据库连接,写套接字时会用到。

9.Bean的范围:scope属性

常用的就singleton和prototype(原型)。

默认情况下,是singleton,拿到的都是同一个对象。如果设为prototype,则会新建一个bean对象。

谈及prototype作用域的bean时,在某些方面你可以将Spring容器的角色看作是Javanew操作符的替代者。

10.集合collection:

通过<list/>、<set/>、<map/>及<props/>元素可以定义和设置与JavaCollection类型对应List、Set、Map及Properties的值。

11.自动装配:autowire

常用的有byName  和byType:byName根据bean的name属性值去自动匹配bean,而byType会依据bean的数据类型去匹配,

当有两个或两个以上类型相同的bean的时候就会报错,所以要小心使用。

12.bean的生命周期:

     ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化。

     lazy-init="true"  延迟初始化bean。

    init-method="init"destroy-method="destroy" 不要与  scope="prototype"一起使用,Spring不能对一个prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法,而对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。

 

动力节点B站Spring6学习笔记——Spring对IoC的实现 根据B站动力节点老杜讲的Spring6教程整理了学习笔记,分享给大家,共同学习进步~ 这套Spring教程基于Spring6讲解,Spring6是下一个十年的新开端。 四、Spring对IoC的实现 4.1 IoC 控制反转 控制反转是一种思想。 控制反转是为了降低程序耦合度,提高程序扩展力,达到OCP原则,达到DIP原则。 控制反转,反转的是什么? 将对象的创建权利交出去,交给第三方容器负责。 将对象和对象之间关系的维护权交出去,交给第三方容器负责。 控制反转这种思想如何实现呢? DI(Depe 阅读详情

相关推荐

【学习笔记】手写一个简单的 Spring IOC

Spring 的核心之一是 IOC,全称 Inversion Of Control ,控制反转,用来统一管理 Bean

LearnTech_123的博客 1635

NtUserCallOneParam - XP - 5.1.2600.3099

NtUserCallOneParam 0                                         dd offset __CreateMenu@0 1   .rdata:BF98F54C D2 C5 89 BF           dd offset __CreatePopupMenu@0        2   .rdata:BF9

zzz3265的专栏 9165

jdk-8u241-windows-x64.7z

原版JDK,有数字签名。官网下载很慢。仅仅一个JDK而已,贪婪的人要几分到十几分不止,有点恶心。我只要1分。方便你我他。

Service xxx does not have a SELinux domain defined.&&avc denied权限问题

init: Service xxx does not have a SELinux domain defined. 该提示说明没有定义SELinux domain,导致服务xxx无法自启动。为了解决这个问题我们按如下方式修改或添加sepolicy文件:   ● 修改system/seplicy/file_contexts文件,添加以下内容: /system/bin/xxx u:object...

lemon15071230867的博客 2900

医疗领域BGE-M3模型微调全流程:从数据准备到效果评估

本文详细介绍了医疗领域BGE-M3模型的微调全流程,从数据准备到效果评估。通过医疗数据微调,BGE-M3模型在临床问答、病历检索等场景中表现显著提升,能够准确理解医学术语之间的细微差别。文章还提供了实战练习代码和效果评估指标,帮助开发者快速掌握医疗文本嵌入模型的应用技巧。

weixin_29098367的博客 282

SARscape的DInSAR全流程-以西安市隋大兴唐长安城遗址为例

通过DInSAR对西安市隋大兴唐长安城遗址开展的年度周期性监测,发现成因是地质内部构造断裂带活动所导致的地面产生物理空间上的形变,而地面的沉降与抬升是直接影响城市发展与文化遗产保护最为常见的缓变型不可逆地质灾害。西安市地处汾渭断陷盆地中部,受临潼-长安断裂带影响,导致区域内构造活动较为强烈。由于早年西安市地表水资源匮乏,从上世纪50年代末开始大量开采地下水资源以满足城市人口不断扩张的需求,从而导致地下承压含水层水位急速下降,形成多个局部沉降中心(八里村、西工大、电子城等)。

2301_77687129的博客 5815

SpringBoot报错 The bean ‘xxxImpl‘ could not be injected as a ‘com.xxx.service.impl.xxxServiceImpl‘

SpringBoot报错 The bean ‘xxxImpl’ could not be injected as a ‘com.xxx.service.impl.xxxServiceImpl’ because it is a JDK dynamic proxy that implements: com.xxx.service.xxxService 问题描述 项目在注入Service时报出动态代理错误问题,如果在自动装配的时候直接以实现类来声明变量,会出现CGLib错误。 例如,在UserController

Kevin的博客 6950

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3067

ipa-apk.cn/dbl.html,ComicBook/package-lock.json at master · liyuechun/ComicBook · GitHub

{"name": "comicbook","version": "0.0.1","lockfileVersion": 1,"dependencies": {"abab": {"version": "1.0.3","resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz","integrity": "sha1-uB3l9ydOxOdW...

weixin_34891129的博客 1万+

Win10和Ubantu16.04双系统下,卸载Ubantu

Win10和Ubantu16.04双系统下,卸载Ubantu 机器配置 华硕主板,英伟达显卡(这不是重点) Win10与Ubantu16.04均为UFFI分区(如果不知道这个也不需要在意,一般默认的都是这样,鸵鸟原则) 清除Ubantu系统 一般按照常规的方法来删除Ubantu,都是直接将磁盘管理器里面的关于Ubantu的磁盘清空,但是还会留下一个UFFI分区,如果不进行删除的话,开机时候还是会有...

qq_33289694的博客 391

用Python手把手教你实现一个多层感知机(MLP)——从理论到代码实战

本文详细介绍了如何使用Python和Theano库从零开始实现多层感知机(MLP),涵盖从核心原理到代码实战的全过程。通过构建隐藏层、输出层和完整MLP模型,结合权重初始化、激活函数选择和训练技巧,帮助开发者深入理解神经网络工作机制,并应用于实际机器学习任务。

web39explorer的博客 971

java无法解析导入cn_Java SE标准类无法解析导入XXX

我使用Eclipse,结果发现我有很多导入*无法解决的错误。import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.sql.Timestamp;import j...

weixin_28856331的博客 691

【系统架构设计师-2025上半年真题】综合知识-参考答案及详解(75题完全回忆版)

【系统架构设计师-2025上半年真题】案例分析-参考答案及部分详解

数据知道的博客 1万+

【SSM】Spring学习笔记1: IoC的XML配置

文章基于。

2301_76391858的博客 1220

LeRobot — 基于 PyTorch 的真实世界机器人学习框架(一)- 核心框架模块解析

LeRobot 是一个开源的机器人学习框架,由 Hugging Face 开发,旨在降低机器人学的准入门槛。该框架提供完整的机器学习流程支持,包括数据采集、训练、评估和部署。核心模块涵盖数据集标准化、策略算法、硬件抽象和强化学习组件,采用模块化设计实现灵活扩展。通过集成 Hugging Face Hub,用户可以轻松共享数据集和预训练模型。LeRobot 特别注重真实世界的机器人应用,支持多种前沿算法如模仿学习、视觉语言动作模型等,并提供统一的硬件接口和仿真环境适配。

熊猫小妖的AI世界 171

1分钟了解LangChain是什么?

是一个基于大型语言模型(LLM)开发应用程序的框架, 它旨在简化语言模型应用的开发流程,特别是在构建对话系统和其他基于语言的AI解决方案时.目标是将复杂的语言模型技术转化为可通过简单API调用实现的功能,从而使开发者能够更加专注于创造性的解决方案设计。高效地解决了开发大语言模型应用的痛点问题。Langchain 最主要的特色是可以将 LLM 应用研发过程中的交互 Prompt、LLM 模型调用、语言模型与环境互动的自适应等方式融为一体。

gorgor在码农 2630

Spring学习笔记:Spring IoC基于注解的DI详细配置全解

Spring注解配置通过元数据替代XML,将配置信息整合到源码中,但存在分散性问题。注解与XML可共存,但后者会覆盖前者配置。开启注解需在XML中添加context Schema,并激活特定注解处理器(如@Autowired、@Inject等)。核心注解包括: 依赖注入(@Autowired、@Resource、@Inject) 生命周期(@PostConstruct) 作用域管理(@Lookup解决单例依赖原型问题) 注解配置更符合现代开发习惯,但XML在集中管理配置方面仍有优势。Spring 2.5+/

FeiChangWuRao的博客 941

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Spring-IOC容器(个人学习笔记)

从开始,Spring需要Java 17+。支持Groovy和Kotlin等基于JVM的语言。Spring元数据是配置数据的数据传统的xml配置注解配置Java配置IoC核心思想对象的依赖关系不再由对象自己控制,而是由容器来控制IoC容器是管理bean的容器bean是被IoC容器管理的JavaBean会根据元数据来实例化、配置和组装bean在对象创建时就提供给对象所需要的依赖Spring IoC容器接口实例实例如何使用Ioc容器导入Spring创建IoC容器。

m0_68596378的博客 960

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Spring学习笔记——IOC、AOP

Spring概述 作者Rod Johnson,是一款免费开源的框架,方便解耦,简化开发 (高内聚低耦合) 2002年发布的 interface 21 是Spring最早的雏形 2004年Spring框架1.0发布 Spring是一个轻量级的,非入侵式框架 Spring的核心是控制反转(IOC)和面向切面编程(AOP),IOC的一种实现方法是依赖注入(DI) 目的:解决企业应用开发的复杂性 控制反转(IOC) 思想的转变:从程序猿需要向程序中主动new创建对象,到程序被动的接收对象(通过set方法),比

qq_43651045的博客 280

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

什么是ioc_学习笔记:Spring核心思想 AOP & IOC

“拉勾教育”学习笔记:Spring核心思想 IOC 、 AOP注意:IOC和AOP不是spring提出的,在spring之前就已经存在,只不过更偏向于理论化,spring在技术层次把这两个思想做了⾮常好的实现(Java)IOC1、什么是IOC?IoC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现描述的事情:Java开发领域对象的创建,管理...

weixin_39769183的博客 89

Spring学习笔记:Spring IoC基于XML的DI详细配置全解

本文是Spring学习笔记的第三部分,主要介绍了Spring框架中依赖注入的相关配置方法。内容涵盖: 字面量注入 - 使用value标签为基本类型、String和包装类属性赋值 属性文件转换 - 通过propertyEditor将XML配置转换为Properties集合 Bean引用 - 使用ref属性或标签引用其他Bean Parent继承 - 通过parent属性复用父Bean的配置 内部Bean - 在属性配置中定义匿名Bean对象 文章通过具体代码示例展示了XML配置方式,包括构造器注入和sette

FeiChangWuRao的博客 1260

Spring学习笔记第二天,Spring基于xml的IOC和注解的IOC以及IOC的案例

经过了第一天的学习,我们对spring框架应该有了一定的了解。对于使用xml配置的方式也应该会使用了。今天我们就来学习spring基于注解的IOC以及IOC的案例。 1 Spring中IOC的常用注解 在我们上一天的学习中我们使用的是xml对ioc进行配置,配置的方式如下 <bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl" scope="" init-method="" destroy-method

Code_Boy_Code的博客 711

Spring学习笔记3 Spring对IOC的实现

控制反转是一种思想控制反转是为了降低程序耦合度,提高程序扩展力,达到OCP(开闭原则)原则,达到DIP(依赖倒置原则)原则控制反转,反转的是什么?1.将对象的创建权力交出去,交给第三方容器负责2.对象与对象之间关系的维护权交出去,交给第三方容器负责控制反转这种思想如何实现---->DI依赖注入新建模块时候报错,看样子IDEA也要更新了引入依赖--Log4j2依赖-->log4j2.xml--level指定⽇志级别,从低到⾼的优先级:-->

tiantiantbtb的博客 442

[spring入门学习笔记][spring的IoC原理]

什么叫IoC控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也

学习之路 5759

Spring IOC学习笔记

分享一下对Spring框架的IOC的理解 What (IOC容器是什么) Ioc—Inversion of Control(控制反转),是一种设计思想,在面向对象方法设计的系统中,要形成一定的业务逻辑,要靠N个对象之间的合作。我们常常接触到的BeanFactory和ApplicationContext都可以看成是容器的具体表现形式。在学习spring之前,希望要学习好设计模式。至少了解到常用的设计模式:工厂模式,单例模式,代理模式,模板模式,适配器模式。了解到软件架构的原则:开闭原则,依赖倒置原则,单一原则

weixin_44255842的博客 267

spring之IOC学习笔记

一、IOC(控制反转) 软件开发原则:高内聚,低耦合。 有一个A功能需要实现 高内聚:现在在一个B类中就能完成A功能,现在B类就是内聚 低耦合:现在需要C类和D类一起才能完成A功能,现在C类和D类就是耦合的(通俗的来讲就是C类和D类存在依赖关系) 在软件开发中我们需要,尽量降低耦合度,提高内聚。 =============================================...

itboy 489
上一篇: Jquery 中的AJAX
下一篇: Java 将数据处理成 PDF 、Excel、Word格式
心 远
博客等级 码龄17年 44粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值