2.spring注入的方式(设值注入和构造注入)

J2EE高级开发框架小课程之Spring框架3——为属性赋值(set注入,构造器注入)的两种配置过程:基于配置文件applicationContext2.xml的配置,基于注解配置 J2EE高级开发框架小课程3——为属性赋值(set注入,构造器注入)的两种配置过程:基于配置文件applicationContext2.xml的配置,基于注解配置 阅读详情

给cc.springIoc.test.TestDI类中的属性注入值

  • 如果对象的属性的值是一个对象类型,<property name="ink" ref="gi"></property>
    用ref赋值,如果是String类型或基本数据类型,用value 赋值
    name是属性的名字,ref或value是属性的值
  • 数组类型和List集合类型的注入方式一样

在这里插入图片描述

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-3.2.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

		<!-- 注入不同类型的值 -->
	<bean id="tdi" class="cn.cc.springIoc.test.TestDI">
		<!-- XML有些字符是关键字
			使用ExceptionLanguage的<![CDATA[特殊值]]>
		 -->
		 <property name="scharacter1">
		 	<value><![CDATA[P&G]]></value>
		 </property>
		 
		 <property name="scharacter2">
		 	<value>P&amp;G</value>
		 </property>
		 
		 <!-- 对象类型 -->
		 <property name="printer">
		 	<bean class="cn.cc.springIoc.printer.Printer">
		 	</bean>
		 </property>
		 
		  <!-- 集合对象类型 -->
		 <!-- List<String> -->
		 <property name="listStr">
		 	<list>
		 		<value>篮球</value>
		 		<value>足球</value>
		 		<value>排球</value>
		 	</list>
		 </property>
		 
		 <!-- List<Printer> listPrinter -->
		 <property name="listPrinter">
			<list>
		 		<bean id="h1" class="cn.cc.springIoc.printer.Printer"></bean>
		 		<bean id="h2" class="cn.cc.springIoc.printer.Printer">
		 			<property name="ink" ref="gi"></property>
		 			<property name="paper" ref="a4"></property>
		 		</bean>
		 	</list>		 	
		 </property>
		 
		 
		 <!-- 数组类型  String[] aryStr -->
		 <property name="aryStr">
		 	<list>
		 		<value>篮球</value>
		 		<value>足球</value>
		 		<value>排球</value>
		 	</list>
		 </property>
		 
		 <!-- 对象数组类型  Printer[] aryObj-->
		 <property name="aryObj">
		 	<list>
		 		<bean id="hp1" class="cn.cc.springIoc.printer.Printer"></bean>
		 		<bean id="hp2" class="cn.cc.springIoc.printer.Printer">
		 			<property name="ink" ref="gi"></property>
		 			<property name="paper" ref="a4"></property>
		 		</bean>
		 	</list>
		 </property>
		 
		 <!-- Map类型  Map<String, String> mapStr -->
		 <property name="mapStr">
		 	<map>
		 		<entry>
		 			<key>
		 				<value>bb</value>
		 			</key>
		 			<value>篮球</value>
		 		</entry>
		 		<entry>
		 			<key>
		 				<value>fb</value>
		 			</key>
		 			<value>足球</value>
		 		</entry>
		 	</map>
		 </property>
		 
		 
		<!-- 值为对象的Map类型  Map<String, Printer> mapPrinter -->
		 <property name="mapPrinter">
		 	<map>
		 		<entry>
		 			<key>
		 				<value>c1</value>
		 			</key>
		 			<bean id="canon1" class="cn.cc.springIoc.printer.Printer"></bean>
		 		</entry>
		 		<entry>
		 			<key>
		 				<value>c2</value>
		 			</key>
		 			<bean id="canon2" class="cn.cc.springIoc.printer.Printer"></bean>
		 		</entry>
		 	</map>
		 </property>
		 
		 <!-- 字符串值""   String emptyValue-->
		 <property name="emptyValue">
		 	<value></value>
		 </property>
		 
		 <!-- 字符串值null  String nullValue -->
		 <property name="nullValue">
		 	<value>null</value>
		 </property>
	</bean>
	
</beans>

构造注入方式

applicationContext.xml
在这里插入图片描述
UserServiceImol.java
在这里插入图片描述

Spring的注入方式:设值注入和构造注入 一、什么是Spring的注入:spring的注入是指在启动spring容器加载Bean配置的时候,完成对对变量的赋值行为。常见的spring注入的方式有两种,分别是设值注入和构造注入。IOC在加载的时候会扫描XML文件里面的Bean的相关配置,然后为这些Bean进行实例化(创建Bean)。所谓注入就是在创建的过程中完成对成员变量的赋值打个比方,假如在A类里面引入了一个B类声明了一个B类的变量b,注入 阅读详情

相关推荐

Spring Ioc(依赖注入)入门例子--属性注入

NULL 博文链接:https://samter.iteye.com/blog/408519

【Spring】Spring使用xml注入为属性赋值

Spring使用set注入为属性赋值 **注入就是赋值的意思

HR的博客 1887

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5561

JavaScript 对象

对象概述 javascript 中的对象(物体),和其它编程语言中的对象一样,可以比照现实生活中的对象(物体)来理解它。 javascript 中对象(物体)的概念可以比照着现实生活中实实在在的物体来理解。 在javascript中,一个对象可以是一个单独的拥有属性和类型的实体。我们拿它和一个杯子做下类比。一个杯子是一个对象(物体),拥有属性。杯子有颜色,图案,重量,由什么材质构成等等。同样,javascript对象也有属性来定义它的特征。 对象和属性 一个 javascript 对象有很多属性。一个对象的

hualoushihui的博客 837

修改Avaya IP-Office电话交换机出厂自带的提示语音内容

1,本文的应用场景是在使用Avaya IP-office 500 v2电话交换机时,来电振铃超时后,会转入语音信箱,呼叫者会听到一条语音信箱留言的欢迎辞(…请留言…)。但我们单位情况比较特殊,首先是的IPO配置很精简,内嵌的语音信箱只能保留3天,用处不大;其次是用户没有收听语音信箱的习惯;第三是我们单位使用数字中继和DID,每人一个直拨号码,不通过总机转接。很多业务是单线联系,所以一旦来电无法接通,来电者可能完全无法联系到我们单位的其他同事。出于这三点原因,我们希望将语音信箱的欢迎辞,增加告知我们的总机电话

qlin4cn的博客 4917

Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)

本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。

tree8的博客 326

Spring_3

Spring框架 Spring基于XML装配Bean Bean 的装配可以理解为依赖关系注入,Bean 的装配方式也就是 Bean 的依赖注入方式。Spring容器支持多种形式的 Bean 的装配方式,如基于 XML 的 Bean 装配、基于 Annotation 的 Bean 装配和自动装配等。 Spring 基于 XML 的装配通常采用两种实现方式,即设值注入(Setter Injection)和构造注入(Constructor Injection)。本节将讲解...

sinat_50855580的博客 526

zabbix深度监控之邮件告警、微信群和微信告警

本文详细介绍了Zabbix监控系统实现邮件告警和微信告警的配置方法。邮件告警部分包含QQ和163邮箱的SMTP服务器配置、消息模板设置、告警流程三步骤(媒介配置、触发器动作、用户设置)。微信告警分为两种方式:企业微信群机器人告警(通过webhook实现)和企业微信应用告警(需创建应用并获取API参数)。两种告警方式都提供了完整的配置流程,包括脚本编写、权限设置、消息模板定制等关键步骤,并特别说明了如何使个人微信接收企业微信告警消息。文章还对比了SMTP、POP3、IMAP三种邮件协议的差异及适用场景。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 815

Spring构造注入 构造方法及变量赋值方式

一、构造方法赋值: 首先提供构造方法类UserInfo.java: public class UserInfo { //1、普通类型 public UserInfo(int age, String name) { System.out.println(age+" , "+name); } //2、自定义类型 public UserInfo(Date birth) { Sy...

徐冰的博客 1556

120、ISP 驱动架构解析:从 V4L2 请求到 ISP 硬件的配置下发流程

本文以实际案例解析ISP驱动架构的V4L2到硬件配置下发流程。作者通过一个因内存共享导致画面闪烁的bug案例,详细剖析了用户空间参数通过V4L2结构体传递、驱动层拆包与硬件寄存器映射、时序同步机制等关键环节。特别强调深拷贝、dirty flag增量更新、shadow register等实现要点,并给出多路并发隔离、寄存器写入失败等典型问题的排查方法。文章建议开发者深入理解参数到寄存器的转换过程,推荐通过debugfs实时监控寄存器状态,避免过度依赖自动调试工具。全文以实践为导向,对ISP驱动开发具有直接指导

sundong_81的博客 159

实例详解C++程序的五大内存分区

本文详细讲述C++程序在运行时的5大内存分区。 下面使用日常开发中的编程实例,详细介绍一下这5个分区,以便大家能更深刻的理解这5大内存分区。 1、栈内存区 栈内存区是我们用的最多的分区,只要有函数的地方都会使用到这个分区。栈分区是用来存放函数参数及函数局部变量值的内存区,是由编译器在编译时自动分配和释放的。 函数中的参数与函数中的局部变量占用的内存是代码执行到函数(进入函数)是分配的,在............

dvlinker的技术专栏 1万+

Spring接口编程_设值注入和构造注入

说明: UserManagerImp是设值注入,UserManagerImp2是构造注入 接口不注入,也就是在Spring配置文件中没有接口的<bean>,但是定义的时候是用接口 private IUserDao userDao; IUserManager userManager2=(IUserManager) factory.getBean("userM...

aoweitu9856的博客 127

YOLOv13改进:注意力机制 | 动态稀疏注意力的双层路由方法BiLevelRoutingAttention | CVPR2023

BiLevelRoutingAttention方法对小目标检测效果比较好。可能是因为BRA模块是基于稀疏采样而不是下采样,一来可以保留细粒度的细节信息,二来同样可以达到节省计算量的目的。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1433

JAVA EE 知识总结(二)Spring中的Bean

目录 2.1 Bean的配置 1.什么是Spring中的Bean? 2.Spring容器支持两种格式的配置文件 2.2Bean的生命周期 2.3 Bean的装配方式 2.3.1 基于XML的装配 1.设值注入案例 2.构造注入案例 2.1 Bean的配置 1.什么是Spring中的Bean? 如果把Spring看做一个大型工厂,则Spring容器中的Bean就是该工厂的产品,这个工厂是作用就是生产和管理Spring容器中的Bean。要想使用这个工厂生产和管理Bean,就需要在配置.

WHT869706733的博客 1527

《C++等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《C++等级认证CCF-GESP真题解析》🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级认证》C++编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,欢迎订阅!

人生就是一个不断学习的过程 6287

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Spring容器框架、spring ioc、两种注入方法set注入与构造器注入

#1>spring是什么? spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 ——从大小与开销两方面而言Spring都是轻量的 ——通过控制反转(IOC)的技术达到松耦合的目的 ——提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发 ——包含并管理应用对象的配置和生命周期,这个意义上是一种容器 ——将简单的组件配置、组合成为复杂

回忆 1443

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Spring杂烩】一起探讨@Autowired属性注入,设值注入和构造注入的注入时机

探讨Spring属性注入,设值注入和构造注入的注入时机

长路漫漫的歇脚处 5809

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spring的注入案例分析(设值注入和构造注入)

了解并记录spring IOC的注入方式的使用: 构造注入和设值注入。

复制乔布斯 8769

spring框架学习(一):设值注入和构造注入

之前一直都是用jsp+servlet+javabeans搭建网站应用,遂总结下今天学习的spring框架的内容 相应的jar包:http://download.csdn.net/detail/fengsigaoju/9835903 为了统一,在src下建立一个包命名为spring.firstdemo 我们首先假设一个卖票的场景,有一个实体类ticket,其有3个属性,起点终点和票价。

fengsigaoju的博客 3017

Spring IOC 构造方法注入和设值注入的比较

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0 2

SKY138421的专栏 3957

Spring 设值注入(set)和构造器注入的区别

Spring种提供了2种常用的注入方式,set方法注入和构造函数注入。由于这2种注入方式很相似,都可以满足我们的需求,所以在大多数情况下我们忽视了这2种注入方式的区别。下面让我们看看这2种注入方式的特点。 目录 一、设值注入(set) 二、构造器注入 三、总结 一、设值注入(set) 我们先看看Spring在使用set方法注入时,是怎样实例化一个Bean和Bean的合作者的: 在A中有一个setB方法用来接收B对象的实例。那么Spring实...

技术小站 3553

Java | Spring框架 | 构造器注入 vs 设值注入

本文主要分享 1. 构造器注入 vs 设值注入 2. AI+编程实践玩法(文章底部)

yingzix688的博客 1451

Spring三种bean注入方式

Spring中依赖注入有三种注入方式: 一、构造器注入; 二、设值注入(setter方式注入); 三、Feild方式注入(注解方式注入)。 一、构造器注入 构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。废话不多说,直接上代码。 package com.fredia.service.impl; import java.util.List; impo...

小猪奋斗 1万+

Spring的构造注入和设值注入

Spring的构造注入和设值注入 构造注入 在类被实例化的时候,它的构造方法被调用并且只能调用一次。所以它被用于类的初始化操作。是标签的子标签。通过其子标签可以为构造 先建立一个学生类: public class Student { String name; String address; int age; public Student(String name,S

Coder_py的博客 1373
上一篇: HashMap的排序方法
下一篇: 3.log4j日志框架的配置
cuichen97
博客等级 码龄7年 34粉丝 209原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值