spring基础一(ioc)

【一】Spring IoC 最全源码详解之 Spring容器创建流程 《圣经》旧约.创世纪:起初,神创造天地。地是空虚混沌,渊面黑暗; 神的灵运行在水面上。神说:“要有光。”就有了光。 神看光是好的,就把光暗分开了。 神称光为昼,称暗为夜。有晚上,有早晨,这是头一日。                                                                                                   ... 阅读详情

#Spring 一战式开发
web层:springmvc
service层:Spring的bean管理,Spring的声明式事务
dao层:Spring的jdbc模板,Spring的ORM模块
#IOC(Inversion of Controller)控制反转:把对象的创建权交给Spring
ioc开发需要引入的jar包:
spring-bean,spring-context,spring-core,spring-expression
#IOC的实现原理:
#工厂模式+反射+配置文件
在applicationContext.xml中



新建一个Test类
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”);
UserDao userDao = applicationContext.getBean(“User”);
#IOC和DI
1.IOC:控制反转,将对象的创建权反转给了Spring。
2.DI:依赖注入,前提必须有IOC的环境,Spring管理这个类的时候将类的 依赖的属性注入(设置)进来。
eg:



#1.4.1Spring的工厂类

[外链图片转存失败(img-zlyIgU9x-1566559228717)(https://i.imgur.com/Fbfxjbh.png)]

1.BeanFactory
2.ApplicationContext
AppilicationContext继承BeanFactory
ApplicationContext(子类):
ClassPathXmlApplicationContext:加载类路径下的配置文件
FileSystemXmlApplicationContext:加载磁盘下的配置文件
#Bean的生命周期
#Bean的相关配置
1.标签中的id和name的区别
id:使用了约束中唯一约束,里面不能出现特殊字符
name:没有使用了约束中唯一约束(理论上允许重复,实际开发中不允许重复),里面允许出现特殊的字符。
2.Bean的生命周期
.Init-method:Bean被初始化的时候执行
.destory-method:Bean被销毁时执行的方法
3.Bean的作用范围
.scope Bean的作用范围

		1.singletone   单例模式(默认的)
		2.prototype:   多例模式

		3.request:     应用在web项目中,Spring创建这个类以后,将这个类存入到request范围

。
4.session 应用在web项目中,Spring创建这个类以后,将这个类存入到session范围

		5.globalsession 应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相对							于session。
	4.属性的注入方式
		1.构造方法的方式的属性注入
			
		2.Set方法的方式的属性注入
			  public void setName(String name) {
  					  this.name = name;
				 }
		
			![](https://i.imgur.com/iQDmkPw.png)

		.对于普通类型:用value来指定值
			  <!--set方法,实现属性的注入-->
	    <bean id="car" class="com.echo.service.Car">
	        <property name="name" value="宝马"/>
	        <property name="price" value="100000"/>
	    </bean>

		.对于包装类型:用ref来表示值
			 <!--属性是包装类型,实现属性的注入-->
   	 <bean id="emp" class="com.echo.service.employee">
        <property name="name" value="echo"/>
        <!--包装类型 car的值 对应于上面 普通类型<bean id="car" class="com.echo.service.Car">-->
        <!--包装类型 对应的值用ref 来表示-->
        <property name="car"#  ref= #"car"/>
    </bean>
		3.p名称空间完成属性的注入
			普通对象: p:属性名=“值”
			对象属性: p:属性名-ref="值“
		 <!--p名称完成属性的注入-->

	    <bean id="emp" class="com.echo.service.employee" p:name="Alice" p:car-ref="car">
	    </bean>

		4.spl表达式	value=#{},也可以用各种你表达式表示

		 <bean id="car" class="com.echo.service.Car">
        	<property name="name" value="#{'Goole'}"/>
       		 <property name="price" value="#{carinfo.setPrice()}"/>
    	</bean>
		5.数组,集合方式的注入,在实现类中定义相应属性的set方法,将属性值注入。
			
							<!--数组和集合集合类型的注入-->
			    <bean id="collections" class="com.echo.service.Collection">
			        <!--数组-->
			        <property name="arrs">
			            <list>
			                <value>"echo"</value>
			                <value>"Alice"</value>
			            </list>
			        </property>
			
			        <!--list集合-->
			        <property name="list">
			            <list>
			                <value>"Gold"</value>
			                <value>"Dails"</value>
			            </list>
			        </property>
			        <!--map-->
			        <property name="map">
			            <map>
			                <entry key="aaa" value="1111"/>
			                <entry key="bbb" value="222"/>
			            </map>
			        </property>
			    </bean>
	5.分模块配置
		.在applicationContext.xml文件中引入applicationContext1.xml配置文件

		 	<!--导入引入数组或集合类型的配置文件 applicationContext1.xml-->
			<import resource="applicationContext1.xml"/>
需求跟踪详解 需求跟踪是指在软件项目开发过程中,建立并维护需求与项目各阶段工作产物(如设计文档、代码模块、测试用例等)之间对应关系的过程。它不仅记录需求从提出到实现的完整路径,还能反映需求变更时对各阶段工作的影响范围,是连接用户期望与实际软件开发产出的桥梁。 阅读详情

相关推荐

利用运放设计简单有源滤波器(低通、高通、带通)

本文旨在帮助刚接触模电的同学快速设计一个实用可靠的运放,故我将不会说一些晦涩难懂的原理,只给出仿真电路图。

WeiTong0527的博客 3万+

Spring(一)—— Spring IOC

文章目录Spring简介无参构造创建实例对象有参构造创建实例对象 Spring简介 Spring是一个企业级开发框架,为解决企业级项目开发过于复杂而创建的,框架的主要优势之一就是分层架构,允许开发者自主选择组件。 Spring的两大核心机制是IOC(控制反转)和AOP(面向切面编程), 从开发的角度讲,我们使用Spring框架就是用它的IOC和AOP。 IOC是典型的工厂模式,通过工厂去注入对象,...

中都 3381

ego-planner启动参数深度解析:从配置到实战避障应用

本文深入解析EGO-Planner启动参数的配置与实战应用,重点探讨无人机自主导航中的避障性能优化。通过环境感知、运动约束和算法控制三类参数的详细说明,结合ROS和RViz工具,提供从基础配置到高级调优的完整指南,帮助开发者提升无人机在复杂场景下的规划效率和安全性。

rum55的博客 246

【SSM】Spring① IOC

【学习记录】Java后端路线 Spring①,关于控制反转IOC。

m0_64098804的博客 1610

《YOLOv8实例分割实战:训练自己的数据集 》(视频课程)

本课程将手把手地教大家使用labelme标注和使用YOLOv8训练自己的数据集,完成一个多目标实例分割实战项目。

bai666ai的博客 790

ROS应用之如何配置RTOS满足机器人系统中的实时要求

实时操作系统(RTOS)基本概念实时操作系统(RTOS)是设计用于实时应用的操作系统,其主要目标是在确定的时间内完成任务。RTOS的任务调度算法和优先级控制机制能够确保高优先级任务按时完成。精确的传感器数据采集:传感器数据需要在规定时间内采集并传输给控制系统。快速响应外部事件:对于控制系统,需要确保指令在最短的时间内得到响应。任务的调度周期:任务的周期可以通过公式计算,其中 ftask 是任务的调度频率。优先级分配。

weixin_68094467的博客 1008

Spring笔记(一)——Spring IoC详解

Spring IoC详解 包括:三种管理组件的方式(XML、注解、配置类)、各种方式的IoC声明配置、DI依赖注入配置、高级特性等。

qq_40818172的博客 1499

多期DID实战指南:从CSDID原理到分组加权策略

本文深入解析多期DID(CSDID方法)在政策评估中的实战应用,从核心思想到分组加权策略全面讲解。通过电商扶贫等案例,详细演示如何正确处理分批实施政策的数据分析,包括分组拆解、子模块DID操作及加权平均选择,帮助研究者规避常见误区,提升政策评估的准确性。

weixin_26833503的博客 524

超强干货之---Python-数据爬取(爬虫)

定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。

房东的猫的博客 5万+

LPDDR6与LPDDR5 State Diagram技术探讨

LPDDR6与LPDDR5 State Diagram技术探讨

zilan23的博客 1176

一、Spring IOC

一、Spring概述 1.Spring是什么? Spring是分层的Java SE/EE应用的全栈式(full-stack),轻量级开源框架。 - 全栈式:提供了表现层 SpringMVC和持久层 Spring JDBC Template以及 业务层 事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。 - 轻量级与重量级的划分主要依据是看它使用了多少服务,启动时需要加载的资源多少以及耦合度等等。 两大核心 IOC(Inverse

weixin_48893653的博客 476

【点云鸟瞰图BEV】点云鸟瞰图BEV原理与可视化

本节将介绍激光雷达等点云的鸟瞰图生成原理、代码及效果图。 1 BEV视图原理 点云BEV(Bird's Eye View)视图是指点云在垂直于高度方向的平面上的投影。通常,在获得bev视图前,会将空间分割成体素,利用体素对点云进行下采样,然后将每个体素作为一个点进行投影。体素是指将三维空间按照固定尺寸长方体进行划分时的长方体(Δl*Δw*Δh)。 体素投影时可以得到BEV视图的像素点坐标。每个像素点的特征取值则可以通过多种方式得到。 ...

叶子的博客 2万+

Spring 学习教程(一):浅谈对Spring IOC以及DI的理解

一、个人对IoC(控制反转)和DI(依赖注入)的理解我们平时在开发java web程序的时候,每个对象在需要使用它的合作对象时,自己都要将它要合作对象创建出来(比如 new 对象),这个合作对象是由自己主动创建出来的。创建合作对象的主动权在自己手上,需要时候就主动创建,这样耦合性很高。在这稍微解释一下耦合性概念:A对象需要使用合作对象B来共同完成一件事,A要使用B,那么A就对B产生了依赖,也就是A...

weixin_30657541的博客 150

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

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring 核心之 IOC 容器学习一

IOC 与 DI IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们所看到的配置文件。DI(Dependency Injection)依赖注入:就是指对象是被动接受依赖类而不是自己主动去找,换句话说就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给它。 1、对象

lssffy的博客 1448

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring基础一(IoC、Spring配置)

组成:Spring由七大模块组成:现代化的Java开发,就是基于Spring的开发。

await_9的博客 964

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

手写IOC和AOP(一) Spring IOC AOP基础概念引入

IOC定义: IoC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现。 描述的事情:Java开发领域对象的创建,管理的问题 传统开发⽅式:⽐如类A依赖于类B,往往会在类A中new⼀个B的对象。IoC思想下开发⽅式:我们不⽤⾃⼰去new对象了,⽽是由IoC容器(Spring框架)去帮助我们实例化对象并且管理它,我们需要使⽤哪个对象,去问IoC容器要即可。 我们丧失了⼀个权利(创建、管理对象的权利),得到了⼀个福利(不⽤考虑对象的创建、管理等⼀系列事

qq_37779333的博客 282

Spring使用篇(一)—— Spring IOC入门

文章目录1、相关名词概念1.1 POJO、JavaBean与bean1.2 控制反转IoC1.3 依赖关系1.4 依赖注入DI1.5 装配1.6 Spring IoC容器2、对象的创建方式2.1 主动创建对象2.2 被动创建对象3、Spring IoC阐述4、Spring IoC容器5、Spring Bean的生命周期 1、相关名词概念 1.1 POJO、JavaBean与bean   POJO对...

王喆峰的博客 891

【Spring】一问详解什么是Spring IoC和DI

一问详解什么是spring ioc

Hanson的博客 1146

一、spring基于XML的IOC

一、spring的概述 spring是什么:全栈轻量级开源框架 spring的两大核心:IOC、AOP spring的发展历程和优势: 1. 方便解耦,简化开发 2. aop编程的支持 3. 声明式事务的支持 4. 方便程序的测试 5. 方便集成各种优秀框架 6. 降低 JavaEE API 的使用难度 7. Java 源码是经典学习范例 spring体系结构 二、程序的耦合及解耦 曾经案例中问题 JdbcDemo.java /*...

zhoujian43的博客 204

Spring IOC容器(一)BeanFactory

zllovewln的专栏 196

Spring IOC(一)

Spring IOC

zhangyan_1010的专栏 1138

①【Spring】一文了解IOC容器

》》》Spring框架 》》》了解IOC容器

ebb29bbe的博客 1123

spring之IOC详解一

spring之IOC详解一 1.什么是IOC?       Inversion of Control,控制反转;即对象的依赖关系由容器来管理。 2.什么是DI(依赖注入)? Dependency Injection         容器通过调用对象的set方法或者构造器来完成依赖关系的建立。         1)调用对象的set方法             a.提供

龙腾四海365的专栏 549

一、 Spring IOC 简介

一 、 什么是IOC(Inversion of Control) IOC :控制反转,也称为依赖注入(DI)。听起来有点云里雾里,他到底是个啥,为什么Spirng中最基础的就是它? 我们的项目其实都是有一个一个的Bean组成的(通俗的说就是一个一个的java类),我们如果要使用一个Bean,那么就得在使用的地方new一个对应的实例出来,这样一来我的这个Bean是不...

weixin_30273931的博客 80

Spring入门之IOC一

程序书写的目标就是高内聚,低耦合。内聚是形容一个模块的功能的,而耦合是形容多个模块间的关系的。一般而言实现了低耦合也就实现了搞内聚。耦合只能说是降低耦合无法实现完全没有耦合,开发中模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合是最低的一种耦合形 式。了解了耦合的分类也就很容易理解耦合了。

PP东博客 136
上一篇: maven新手上路
下一篇: spring(aop-事务)
Nemo521echo
博客等级 码龄9年 1粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值