首页>>后端>>Spring->Spring中依赖注入的四种方式(spring依赖注入有哪些实现方式)

Spring中依赖注入的四种方式(spring依赖注入有哪些实现方式)

时间:2023-12-07 本站 点击:0

spring依赖注入通常有哪些实现方式,列举并分别进行说明。

3种方法缺冲

1。构造器注入

public class xx {

private Manager manage;

public xx(Manager manage){

this.manage= manage;

}

}

2.setter 方法注则迅入

public class xx {

private Manager manage;

public void setManager(Manager manage){

this.manage= manage;

}

}

3.接口注伏盯歼入

public interface Manager{

public void manage(Business business);

}

public class xx {

private Business business;

public void manage(Business business){

this.business = business;

}

}

Spring依赖注入

是java自带的注解,有两个属性name 和 type,Spring支持使用@Resource来注入。

1、加到类的属性字段上,默认会使用反射机制来友链实现注入;

2、原则上要加到类的属性set方法上。

1、加到类的属性字段上,默认的name是属性名称,默认的type是属性类型

2、加到类的属性set方法上,默认的name是方法名去掉set后将其首字母小写 或 方法的参数名称(2个有一个存在即可),默认的type就是set方法的参数类型。

1、都不显示指定时,默认先按照byName,再按照byType来查找类并注入

2、显示指定了name,则只会按照byName查找类并注入

3、显示指定了type,则只会按照byType查找类并注入

4、都指定时,则查找同时满足byName和byType的类并注入

byName的原则,查找beanId等于指定的名称的bean,找不到则抛出异常。

byType的原则,查找指定的类、实现类或子类,找不到或是找到多个,都会抛出异常。

是spring提供的注解,有一个属性required,表示注入时如果bean不存在是否允许。

(默认是true表示不允许为空,否则报错。)

1、加到类的属性字段上,默认会使用反射老纤机制来实现注入;

2、原则上要加到类的属性set方法上。

1、加到类的好含孙属性字段上,默认的name是属性名称,默认的type是属性类型

2、加到类的属性set方法上,默认的name是方法的参数名称,默认的type就是set方法的参数类型。

默认先按照byType查找类并注入,再按照byName查找类并注入。

byName的原则,查找beanId等于指定的名称的bean,找不到则抛出异常。

byType的原则,查找指定的类、实现类或子类,找不到或是找到多个,都会抛出异常。

spring依赖注入有几种方式

注入就有这三种方法

接口注入(不推荐)

getter,改则setter方式注入(比较常用) 这个就是依赖注搏祥入

构造器注入(死的应基歼搏用)

写出spring基于xml注入的几种方式?

1. 构造器注入:通过在类的构造器中传入依赖对象来完成依赖注入。

2. Setter方法注入:通过在类中定锋轿义setter方法来完成依赖注入。

3. 接口注入:通过在类中定义庆裂接口来完成依赖注入,依赖对象实现该接誉基闭口并在类中调用该接口方法。

Spring IOC的四种注入方式

控制反转 (Inversion of Control),是一种设计思想,而依赖注入(DI)是一种实现的方法。原本对象的创建是依靠程序员来创建,通过依赖注入的方法来改造后,对象的创建是依赖IOC容器,对象的属性依赖IOC容器注入。

setter是Spring现在最主流的注入方式,它可以利用Java Bean 规范所定义set/get方法来完成注入,可读性灵活性高,它不需要使用构造器注入时出现的多个参数,它可以把构造方法声明成无参构造,再使用setter注入设置相对应的值,其实也是通过java反射技术去实现的。

xml文件配置:

构烂镇造器注握凯入主要是依赖于段历唤构造方法去实现,构造方法可以是有参也可以是无参,我们在平常都是通过类的构造方法来创建类对象,以及给他赋值,同样Spring 也可以采用反射的方式,通过构造方法来完成注入(赋值)。

xml文件配置:

@Autowired默认按类型装配

@Qualifier和Autowired配合使用,指定bean的名称

@Resource默认按名称装配,当找不到与名称匹配的bean时,才会按类型装配。

接口注入模式因为历史较为悠久,在很多容器中都已经得到应用。但由于其在灵活性、易用性上不如其他两种注入模式,因而在 IOC的专题世界内并不被看好。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Spring/18210.html