Spring实现控制反转(IOC)的三种方式(一)——属性注入

FFTW多核优化避坑指南:从交叉编译到ELF2板载OpenMP部署全流程 本文详细介绍了在ELF2开发板(RK3588平台)上为FFTW库配置OpenMP多核并行的完整流程与避坑指南。内容涵盖从交叉编译、库依赖处理到板载部署的实战步骤,并深入分析了RK3588的big.LITTLE架构对线程调优的影响,帮助开发者在嵌入式环境中高效利用多核性能。 阅读详情

续上一篇:Spring实现控制反转(IOC)的三种方式(零)——理解IOC


这篇文章,来理解一下Spring IOC的属性注入(set注入)方法。还是用上一篇的程序员写代码的例子。

package com.spring.demo02.entity;

public class Programmer {

	private String name;
	private String sex;

	// 在这里定义要依赖的computer属性,加上set方法
	private Computer computer;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public Computer getComputer() {
		return computer;
	}

	/**
	 * 加上Setter方法
	 * */
	public void setComputer(Computer computer) {
		this.computer = computer;
	}

}

package com.spring.demo02.entity;
public class Computer {
	
	private String brand;
	private String color;
	private String size;
	
	public void coding() {
		System.out.println("Computer is coding!!!");
	}

	public String getBrand() {
		return brand;
	}

	public void setBrand(String brand) {
		this.brand = brand;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getSize() {
		return size;
	}

	public void setSize(String size) {
		this.size = size;
	}
	

}

看上面的代码,可以发现,Programmer类里面,有3个属性,name,sex,computer,并且都有对应的getter、setter方法;Computer类里面也有三个属性,分别是品牌、颜色、尺寸,也都有对应的getter、setter方法。这只是第一步,在类里面声明属性并且实现set方法。

接下来,要写一个spring的xml配置文件,如下:

<?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-3.0.xsd">
    
  <bean id="programmer" class="com.spring.demo2.entity.Programmer">
  	<property name="name" value="小李"></property>
  	<property name="sex" value="男"></property>
  	<property name="computer" ref="computer"></property>
  </bean>
  
  <bean id="computer" class="com.spring.demo2.entity.Computer">
  	<property name="brand" value="hp"></property>
  	<property name="color" value="黑"></property>
  	<property name="size" value="14"></property>
  </bean>
  
</beans> 
解读一下这个xml文件:

1.声明一个bean,可以理解为实例化了一个对象。那这里实例化了两个对象(programmer和computer),各个属性都已经赋值上去。(不知道这样理解对不对)

2.id为programmer的bean,其实就是Programmer类;通过给property赋值,Spring就会通过Programmer类的各个属性的set方法,逐一给Programmer的属性赋值。

3.在programmer里面,有一个属性是computer的,可以看到它属性值是 ref="computer",这就说明computer这个属性是个引用,这里ref后面的值其实就是指向另一个bean的id值,所以这里引用的是id为computer的bean。


以上,就是属性注入了。关键的是在类里面声明属性,写set方法,然后在xml里面配置bean和property的值。

如有错漏,还望指正,共同学习!!!




SIwave串扰分析保姆级教程:从Allegro文件导入到结果解读,手把手教你排查PCB信号问题 本文提供SIwave串扰分析的详细教程,从Allegro文件导入到结果解读,手把手教你排查PCB信号问题。涵盖环境准备、参数配置、串扰扫描技巧及实战案例,帮助工程师精准定位和解决高速PCB设计中的串扰问题,提升信号完整性分析能力。 阅读详情

相关推荐

VMware 虚拟机里连不上网的五种解决方案

在VMware虚拟机里的虚拟机系统连接不上网络 首先,注意查看适配器选项里的网络连接这两个网络连接是否存在,如果不存在可以重新装一下VM 如果存在,连不上网 解决办法一: 虚拟机设置里,找到“网络适配器”,右边的网络连接选择“NAT 模式”,如果不行的话再linux系统。还是不行的话接着看第二种解决方案。 解决方法二: 可能原因是VMware NET Service...

墨轩 18万+

Spring实现IOC(控制反转)的三种方式

IOC:也就是控制反转(创建对象实例的控制权反转),说的是一个类A要调用另一个类B,本来应该在类A里面创建B的实例的,控制权在A手里。现在用了Spring了,有了IOC,控制权就不在A手里了,而是交到Spring的IOC容器了,A要用到B,那Spring就把B分给A了。 下面通过具体的例子来说明: package com.spring.demo.entity; /** * 一个伟

旧城以西的博客 1万+

嵌入式开发避坑指南:手把手教你用STM32CubeMX配置W9825G6KH SDRAM(含时序参数详解)

本文详细介绍了如何使用STM32CubeMX配置W9825G6KH SDRAM,包括硬件连接检查、CubeMX初始化步骤、时序参数优化及稳定性问题排查。通过实测波形分析和案例分享,帮助开发者避免常见配置错误,提升嵌入式系统性能与稳定性。

weixin_42542669的博客 197

Spring的控制反转的三种方式

Ioc(控制反转) :Spring的基本思想之一。将A和B之间的管理交由C管理。通常使用一下三种方式: 1、构造方法注入 2、setter注入 3、接口注入

帅气的老佛 1486

JS逆向-快手__NS_hxfalcon参数分析

现在快手H5接口都需要__NS_hxfalcon这个参数,这篇文章就是逆向这个参数

ckcookies的博客 4075

Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明

Utrust4701F与Utrust2700R读写器支持银河麒麟系统,广泛应用会员管理、支付管理等领域。本文将重点介绍Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明。以上方法适用于主流国产操作系统,如 优麒麟(UbuntuKylin)/ 中标麒麟(NeoKylin) / UOS(统信操作系统)/ 中兴新支点 / 红旗 linux(redflag linux)/ 普华 Linux(I-soft OS) / 威科乐恩 Linux(WiOS)等

华翔天诚科技 1833

Spring实现控制反转(IOC)的三种方式(三)——自动装配

续:Spring实现控制反转(IOC)的三种方式(零)——理解IOC Spring实现控制反转(IOC)的三种方式(一)——属性注入 Spring实现控制反转(IOC)的三种方式(二)——构造器注入 前面简单的说了Spring IOC注入实例的两种方式,下面也是从菜鸟角度来说说自动装配的方式。 package com.spring.demo04.entity; impor

格局、视野、认知 2206

5步VS传统WinForm!AntdUI让界面设计从“土味”到“超模”只需30秒?

摘要:墨瑾轩编程教程《AntdUI的5大魔法步骤》详解如何将传统WinForm升级为现代化UI。教程通过5个核心步骤:安装AntdUI库、控件替换、主题定制、复杂布局构建及实战案例演示,对比传统开发与AntdUI在美观度(动态阴影/动画)、开发效率(拖拽组件VS手工绘制)和主题定制(一键换肤VS重写控件)的显著差异。使用C#代码示例展示按钮动画、3D翻转、聊天界面等特效实现,帮助开发者快速掌握这一基于Ant Design风格的WinForm增强框架。(150字)

java专栏 1129

spring--ioc

spring–ioc 1. 什么是spring,它能够做什么? Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的...

chen的博客 743

倒立摆的PLC控制(模型分析+ SCL源代码)

首先简单介绍下倒立摆模型,下面这幅图是MATLAB网站上的倒立摆模型,下面我们利用牛顿第二运动定律建立摆杆的运动方程。

RXXW_Dor的博客 3333

Megatron-LM从头训练大语言模型:并行策略图示【Tensor并行、Pipeline并行、Data并行、Sequence并行、virtual_pipeline并行、Context并行】

节点包含的层每GPU的参数内存每GPU的激活内存节点0Stage 0层1-1212层参数/2 (TP切分)8k序列激活 (CP切分)节点1Stage 1层13-2412层参数/2 (TP切分)8k序列激活 (CP切分)节点2Stage 2层25-3612层参数/2 (TP切分)8k序列激活 (CP切分)节点3Stage 3层37-4812层参数/2 (TP切分)8k序列激活 (CP切分)负载均衡:每个节点处理相同数量的层(12层)内存优化。

u013250861的博客 285

Spring:IoC(控制反转、依赖注入、循环依赖)

IoC 不是一种技术,只是一种思想并非 Spring 特有,其思想是反转资源获取的方向。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的资源了。IoC很好的体现了面向对象设计法则之一—— 好莱坞法则:“别找我们,我们找你”;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。

燕双嘤 2352

基于 transformer、lstm、LSTM多特征的交通流量预测 完整数据代码 超全项目 本科硕士毕设卓卓有余

基于 transformer、lstm、LSTM多特征的交通流量预测 完整数据代码 超全项目 本科硕士毕设卓卓有余

4655

Spring 框架入门介绍及IoC的三种注入方式

- 用Spring框架来实现全新的控制反转方法,让你的应用程序更加灵活和易于维护 - 创建一个基于Spring框架的控制反转教程,帮助开发人员更好地理解和运用这个设计模式 - 探索Spring框架中控制反转的潜在优势,包括减少模块之间的耦合、提升可测试性和可扩展性 - 设计一个创新的Spring应用程序,利用控制反转实现模块之间的松耦合关系 - 分析控制反转在Spring框架中的实际应用,包括依赖注入和依赖查找的使用场景

让优秀成为一种习惯! 2831

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[Spring] IoC的理解及三种依赖注入方式

[Spring] IoC的理解及三种依赖注入方式Spring---IoC的理解及三种依赖注入方式IoC是什么意思依赖控制反转Spring提供的依赖注入的三种方式setter注入(属性注入)构造器注入p命名空间注入(工厂方法注入)@Autowired Spring—IoC的理解及三种依赖注入方式 IoC是什么意思 IoC,即控制反转,依赖注入(DI)是SpringIoC的一个具体体现,因此,我们可以通过DI(依赖注入)来理解什么是IoC。 要理解什么是依赖注入,首先就要知道什么是依赖。 依赖 定义: 例如在类

cloud的博客 8909

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring属性注入的三种方式(超详细)

属性注入的三种方式使用set方法进行注入使用有参构造函数进行注入使用p名称空间注入 首先了解下面两个名词的含义: IOC:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。 DI:依赖注入(Dependen

『愚』的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深入浅出spring IOC中三种依赖注入方式

深入浅出spring IOC中三种依赖注入方式 spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入什么?控制什么?依赖注入和控制反转是一样的概念吗?接触新的知识,小编的脑袋中全是大大的问号,不过没有关系,今天这篇博文,小编主要来简单的介绍一下在

龙腾四海365的专栏 6万+

(一)Spring 核心之控制反转(IoC)—— 配置及使用

IoC(Inversion of Control),即控制反转,不是什么技术,而是一种设计思想。在 Java 开发中,IoC 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。IoC Container 管理的是 Spring Bean, 那么 Spring Bean 是什么呢?Spring 里面的 Bean 就类似于定义的一个组件,而这个组件的作用就是实现某个功能的,这里所定义的 Bean 就相当于给了你一个更为简便的方法来调用这个组件去实现你要完成的功能。

流华追梦的专栏 2052

Spring中的控制反转和依赖注入(IoC和DI)以及常见面试题

Spring在不同情景下呢有不同的意思。(1)比如说你的项目里面使用到了Spring,那这里的Spring指的是Spring家族包含了各种各样的框架;(2)要是说Spring有什么特点其中一个是IoC那么这里指的就是Spring Core,Spring Framework。(Spring Core 是 Spring Framework 的核心模块,主要负责实现 IoC 和 DI 功能;

change_topic的博客 1936

Spring——控制反转(IOC)和面向切面(AOP)

可以将所有的对象创建和依赖关系维护交给Spring管理的AOP编程支持 Spring 提供的切面编程可以方便的实现对程序进行权限拦截,运行监控等声明式事物的支持。 Spring支持Junit4,方便测试。 IOC的底层实现原理 IOC将对象的创建权反转给Spring,实现程序的解耦合。   spring是轻量级开源框架    spring核心有两部分: (1)控制反转 ioc: ...

marjianjiandandan的博客 1万+

IOC 和 AOP、Ioc的三种实现方式:基于xml的方式、注解的方式、基于配置类的方式

IOC 和 AOP、Ioc的三种实现方式:基于xml的方式、注解的方式、基于配置类的方式

hutao8896的博客 3275

Spring IOC三种注入方式(接口注入、setter注入、构造器注入)

IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转, Spring框架的核心基于控制反转原理。 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术。 由容器控制程序之间的关系,而不是由代码直接控制 由于控制权由代码转向了容器,所以称为反转 对象与对象之间的关系可以简单的理解为对象之间的依赖关系: 依赖关系:在 A 类需要类

public 1万+

Spring IOC 三种注入方式

IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转, Spring 框架的核心基于控制反转原理。什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术。 由容器控制程序之间的关系,而不是由代码直接控制 由于控制权由代码转向了容器,所以称为反转对象与对象之间的关系可以简单的理解为对象之间的依赖关系: 依赖关系:在 A 类需要类 B 的一个实例

StubbornAccepted的博客 884

Java Spring 框架技术从入门到放弃:Spring生态之Spring 的 IoC(控制反转)学习笔记,IoC 的实现方式,依赖注入(DI), IoC 容器

Java Spring 框架技术从入门到放弃:Spring生态之Spring 的 IoC(控制反转)学习笔记,IoC 的实现方式,依赖注入(DI), IoC 容器

zl515035644的博客 1190

Spring IoC 依赖注入的三种方式

Spring IoC(Inversion of Control,控制反转)是一种设计原则,也是一种编程思想。IoC 的核心思想是将对象的创建和对象之间的依赖关系的管理交由容器来负责,而不是由程序员手动管理。Spring IoC 才接触会比较难懂,但实际上很简单,总结起来就一句话:让别人为你服务!下边一张图展示了 IoC 容器在对象与依赖对象之间扮演的角色:那么问题来了,如何让IoC容器为你服务呢?IoC容器又是如何把你所需要的对象提供给你的呢?

swadian2008的博客 1726

Spring IoC【控制反转】DI【依赖注入】

IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序

很高兴你能看到这里 1820
上一篇: Spring实现控制反转(IOC)的三种方式(零)——理解IOC
下一篇: Spring实现控制反转(IOC)的三种方式(二)——构造器注入
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值