Spring学习 之四种XML配置注入方式

Spring面试题12:Spring中IOC的优缺点是什么?IOC依赖注入方式有哪些 优点: 1. 降低代码的耦合度:通过IOC容器管理对象的依赖关系,对象无需自行创建和管理依赖对象,减少了对象之间的直接依赖,降低了代码的耦合度,使代码更加灵活和可维护。 2. 提高代码的可测试性:由于对象的依赖关系由容器管理,可以方便地使用Mock对象替代实际依赖对象进行单元测试,从而提高了代码的可测试性。 3. 提高代码的可扩展性:由于依赖关系的解耦,可以方便地替换、扩展或配置依赖对象,使得代码更加灵活和可扩展。 4. 降低了对象的创建和销毁的成本:IOC容器负责对象的创建和销毁,可以提高对象的重用 阅读详情

Spring容器帮我们实例化对象并且注入到需要该对象的类中。

Setter注入

public class ClassA {

    private ClassB classB;

    public void printClassB(){
        System.out.println(classB);
    }

    public void setClassB(ClassB classB){
        this.classB = classB;
    }
}

public class ClassB {
}

applicationContext.xml配置文件:

<!-- <bean>中的id属性是bean的标识,必须唯一。class属性是类的完全限定名,指明由哪个类来实例化。 -->
<bean id="classB" class="com.mvc.ClassB"/>
<!-- <property>是用来指明要注入的属性和对象的,<property>标签中的name就是就是注入方法名去掉前面的set,剩下的这一截首字母大小写可不限。ref指向要注入的对象(id)。对象是引用实例,所以要用ref,如果是传值,则用value。 -->
<bean id="classA" class="com.mvc.ClassA">
    <property name="classB" ref="classB" />
</bean>

另外要注意的是:property name只和注入方法名相关,和内部属性名没有半毛关系。所以ClassA类改成下面这样也是可以的:

public class ClassA {

    private ClassB classBBB;

    public void setClassB(ClassB classB){
        this.classBBB = classB;
    }
}

构造器注入

构造函数也是一个注入点。现在我们把上例的setter注入改为构造注入。

public class ClassA {

    private ClassB classB;
	/*构造函数注入*/
    public ClassA(ClassB classB){
        this.classB = classB;
    }

    public void printClassB(){
        System.out.println(classB);
    }
}

applicationContext.xml配置文件:
将<property name="classB" ref="classB" />
改为<constructor-arg ref="classB" />
这样就完成了构造器注入。

多参数构造函数赋值:

<bean id="order" class="twm.spring.start.Order" >
    <constructor-arg index="0" value="张老三"></constructor-arg>
    <constructor-arg index="2" ref="notify"></constructor-arg>
    <constructor-arg index="1" value="2017877997"></constructor-arg>
</bean>

静态工厂的方法注入

实例工厂的方法注入

struts.xml中constent属性参数配置大全 struts.xml中constent属性参数大全,及各个参数的介绍,怎样配置。 立即下载

相关推荐

2024年最全scrapy+scrapyd+gerapy 爬虫调度框架,字节跳动面试时间

scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们方便地控制爬虫运行直观地查看爬虫状态实时地查看爬取结果简单地实现项目部署统一地实现主机管理轻松地编写爬虫代码。

2401_84140653的博客 1200

基于XML注入

准备一个UserDao类和UserService类 , 其中 UserService类中有UserDao类型的属性 注入外部Bean(常用) 注入外部Bean的方式:在外部注册一个bean, 然后通过外部bean的id配合property标签的ref引用属性进行注入 注入内部Bean(了解) 注入内部Bean的方式:在bean标签中嵌套bean标签 , 内部bean的id是没有用的 , 不能通过容器被获取到所以不用写id set 注入的核心实现原理 set注入是基于set方法实现的,底层会通过反射机制调用属

欢迎阅读我的博客 587

全在这了!全国分省90米、30米、12.5米、5米DEM高程模型数据下载方式汇总

全在这了!全国分省90米、30米、12.5米、5米DEM高程模型数据下载方式汇总 SRTM15(450米)免费下载 https://pan.baidu.com/s/1eO0U6wfzs7YSe2EQdxRJ2Q提取码:o7am GMTED(250米)免费下载 https://pan.baidu.com/share/init?surl=nrbbdbhyNVQV46XwqzqLlg 提取码:V7X9 SRTM3 (90米)免费下载 https://pan.baidu.com/share/..

TuxinyunGIS的博客 1万+

Spring的三种基于XML的注入方式110401

Spring注入的作用是为了解决实现接口类当中可以调用其他类当中的对象以及方法,并且不是硬编码的方式,而是通过获取核心容器对象方式创建新的对象。例如下面我可以通过UserServiceimpl调用dao对象。 1.构造函数方式注入 这里是主函数 public static void main(String[] args) { // 1. 获取核心容器对象 ApplicationContext context = new ClassPathXmlApplicationConte.

代码人生的博客 3237

Eplan2022 复制已有的宏文件生成新的原理图宏文件

Eplan2022 新建原理图宏文件

haier123888的博客 1万+

[官方培训]22-UE资产优化 Epic 肖月 笔记

Nanite+Lumen目标:面向TA,美术,不影响视觉的前提下,优化运行和编辑效率引擎:UE5.1延迟管线平台:主流PC,Windows 10 with DX12。

Tcohneyn的博客 1575

Spring 面试题(总结最全面的面试题!!!)

1.什么是Spring spring是开源的轻量级框架,为简化企业级应用开发而生,他是我们开发人员的春天,他可以和众多WEB应用程序结合使用,也可以单独使用 2.Spring的核心: IOC(控制翻转): 控制翻转,也叫依赖注入,他就是不会直接创建对象,只是把对象声明出来,在代码 中不直接与对象和服务进行连接,但是在配置文件中描述了哪一项组件需要哪一项服 务,容器将他们组件起来。在一般的IO...

小杰爱吃蛋的博客 4199

门控时钟(clock gating)的DFT设计

在数字IC芯片中,时钟树的功耗占比可能高达30%,因此一般会采取门控时钟的方式来降低该部分的功耗。所谓门控时钟,就是在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗。 目前门控时钟都采用集成门控时钟单元(ICG,integrated clock gating cell),其结构如下。由一个latch和一个与门(也有的是或门)组成,可以过滤掉EN信号中的毛刺。一般的工艺库中都会有专门的ICG以供调用。 插入IC

weixin_44746697的博客 3874

详解Bean注入Spring的方式

xml 方式 注解方式 @Configuration + @Bean @Import FactoryBean BDRegistryPostProcessor 从Spring的IOC特性入手,聊一聊Spring中把Bean注入Spring容器的几种方式 我们先来简单了解下IOC的概念:IOC即控制反转,也称为依赖注入,是指将对象的创建或者依赖关系的引用从具体的对象控制转为框架或者IOC容器来完成,也就是依赖对象的获得被反转了。 可以简单理解为原来由我们来创建对象,现在由Spring来创建并控制对象 一、xm

weixin_40964170的博客 2472

【人工智能】提示词避坑指南:为什么大模型越让它“禁止”,它越要“唱反调”?

和 AI 沟通就像和聪明但直脑筋的工科生说话——

奶爸的编程之路,也就一周冷个三天 224

【C语言学习疑难杂症】第20期:0x00007FF7F2821964处引发的异常0xC0000005写入位置 0x0000000000000

检查代码中是否存在野指针访问的情况,确保在进行写入操作之前,内存已经被正确分配或初始化,并且在使用完毕后进行了正确的释放。空指针访问:代码尝试在空指针地址(0x0000000000000000)处进行写入操作,导致访问冲突。检查代码中是否存在数组越界的情况,确保在进行写入操作之前,数组的索引值在合法范围内。检查代码中是否存在空指针访问的情况,确保在进行写入操作之前,指针已经被正确初始化。野指针访问:代码尝试在已释放或未初始化的内存地址进行写入操作,导致访问冲突。

学无止境 828

Spring基于Xml注入bean的几种方式

spring中的依赖注入 依赖注入: Dependency Injection IOC的作用: 降低程序间的耦合(依赖关系) 依赖关系的管理: 以后都交给spring来维护,在当前类需要用到其他类的对象,由spring为我们提供, 我们只需要在配置文 件中说明 依赖关系的维护: 就称之为依赖注入。 能注入的数据:有三类 基本类型和String 其他bean类型(在配置文件...

java_fight的博客 1万+

同步调相机启动与并网控制技术方案

同步调相机起动与并网控制技术方案采用背靠背变流器系统,通过静止变频器(SFC)策略实现无原动机驱动的同步电机从静止到同步转速的平稳起动。方案详细阐述了硬件自检、模块初始化、转子位置检测等关键环节,重点解决启动转矩为零、冲击电流大等挑战。系统基于STM32或C2000系列控制器,包含网侧/机侧变流器、检测保护单元及通信接口,通过励磁脉冲和电压响应分析实现高精度转子初始定位,为后续并网提供必要条件。代码级实现涵盖了ADC自检、数字IO验证及通信端口测试等核心功能。

huanghm88的专栏 306

【Spring学习05】四种xml配置注入方式

平常应用Spring开发中,用得最多的是容器。spring容器帮我们实例化对象并且注入到需要该对象的类中。 spring有多种依赖注入的形式,下面仅介绍spring通过xml进行IOC配置的方式:一、Setter注入set注入是最简单常用的注入方式,《【Spring学习03】Spring简单入门实例 》中就是用的set注入。 Order类中需要用到NotifyService对象,于是定义了一个p

程序老兵的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

总结 Spring 注入 bean 的四种方式

一提到 Spring,大家最先想到的是啥?是 AOP 和 IOC 的两大特性?是 Spring 中 Bean 的初始化流程?还是基于 Spring 的 Spring Cloud 全家桶呢? 今天我们就从 Spring 的 IOC 特性入手,聊一聊 Spring 中把 Bean 注入 Spring 容器的几种方式。 我们先来简.

Always206的博客 8590

计算机控制技术及应用

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

Bean的四种注入方式

1.set方法注入 2.构造器注入 3.静态工厂注入 4.实例工厂注入 我使用下面两个类来进行注入的演示,这两个类分别是User和Car类: Car类: public class Car { // 只包含基本数据类型的属性 private int speed; private double price; public Car() { } public Car(int speed, double price) { this.speed

weixin_45907591的博客 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

spring中bean注入的四种方式

前言   最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式。这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解的方式。废话不多说,直接开始吧。 在Spring中,共有四种方式为bean的属性注入值,分别是: set方法注入 构造器注入 静态工厂注入 实例工厂注入   下面我就分别演示一下,如何使用这四种方式进行属性的注入。 在演示前,我们需要准备几个类,我使用下面两个类来进行注入的演示,这两个类分别是User和Car类:

qq_39144393的博客 3436

Spring的四种注入方式

Spring的四种注入方式 1.set方法注入 2.构造器注入 3.静态工厂注入 4.实例工厂注入 我使用下面两个类来进行注入的演示,这两个类分别是User和Car类: Car类: public class Car { // 只包含基本数据类型的属性 private int speed; private double price; public Car() { } public Car(int speed, double price) {

m0_56124211的博客 3413

Spring基于xml注入bean的几种方式

Spring基于xml注入bean的几种方式

我从不打没有准备的仗! 9713

Spring -> 四种xml配置注入方式

spring通过xml进行IOC配置的方式 1. setter注入 public class Order { /*要注入的对象*/ private NotifyService notifyservice; /*notifyservice不是在内部new()出来的, 而是通过指定方法传进来的,也就是我们说的注入。这里是setter方法注入*/ publi...

weixin_45808666的博客 720
上一篇: Spring学习 之实例化上下文对象及加载多个配置文件
下一篇: Spring学习 之Bean生命周期
yyangqqian
博客等级 码龄15年 406粉丝 406原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值