2.Spring-容器-注入

注册:将组件放入容器中;

注入:让容器按需进行操作;

一、@Autowired:自动注入组件

原理:Spring调用容器的getBean

二、@Qualifier 精确指定

精确指定:如果容器中组件存在多个,则使用@Qualifier精确指定组件名。

若有默认组件时,也可以使用@Qualifier切换别的组件

三、@Primary

@Primary存在的话,更改属性名就不能实现组件切换了。

四、@Resource

@Autowired和@Resource的区别?

@Resource的包名是jakarta.annotation,前身是Javax(即javaEE标准)规定的。即@Resource是Java标准组织规定的,所有具有容器功能的框架他都支持。

而@Autowired的包名是org.springframework.beans.factory.annotation,是Spring规定的。即只支持Spring。但是他可支持为空:required=false

总结:@Resource具有更强的通用性,但不可忽略当前要注入的Bean,若没有会报错。而@Autowired(required=false)只支持Spring,但他支持忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错。

五、构造器注入

放在容器中后,默认Spring启动会调用无参构造器创建对象。

当是有参构造器时,Spring会自动去容器中找到构造器所需的所有参数的组件值。

六、setter方法注入

七、xxxAware感知接口

八、@Value

(1)@Value(“字面值”):直接赋值

等同于==

(2)@Value(“¥{key}”):动态从配置文件中取出某一项的值

 

(3)@Value (“¥{SpEL}”):Spring表达式语言(Spring Expression Language)

 更多写法:Spring Expression Language (SpEL) :: Spring Frameworkicon-default.png?t=O83Ahttps://docs.spring.io/spring-framework/reference/core/expressions.html

九、 @PropertySource

十、ResourceUtils获取资源

十一、@Profile多环境

 

application.properties :

十二、原生方式使用容器:ClassPathXmlApplicationContext

ioc.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值