Spring自动装配及自动注入

13 篇文章 0 订阅
7 篇文章 0 订阅

一、 自动装配 autowire

1、byType,按照类型自动装配,注意点,使用类型自动装配,在IOC容器中相同类型的bean只能有一个

在这里插入图片描述

2、byName,按照名称自动装配。bean的id和需要装配的变量名称一致

在这里插入图片描述

3、constructor

bean的继承关系

parent,通俗点就是配置属性的复用,但自动注入的不能够被继承;子类继承父类的属性,如果修改子类属性有效,父类不会被覆盖

abstract属性

将bean的abstract属性设置为true,那么这个bean不会被实例化,仅仅作为配置模板使用

二、前置依赖:depends-on

主要作用于有先后顺序的bean,但是这些bean之间又没有强依赖关系,

三、bean的作用域

在这里插入图片描述

通过scope=“”设置。
1、singleton:
(1)在ioc容器中以单例形式存在;
(2)bean的实例在容器创建时候就会创建;
所以每次请求返回相同对象
2、prototype
(1)每次请求返回不同对象
(2)bean的创建,在获取时候才去创建bean对象

四、引入外部配置文件

在这里插入图片描述
在这里插入图片描述

五、bean的生命周期

ioc容器可以处理bean的生命周期,spring允许在bean生命周期的特定点执行特定任务。

在这里插入图片描述

主要的生命周期方法:

1、init,初始化方法
2、destory,销毁方法

bean的整个生命周期方法:

1、调用构造方法创建实例
2、设置属性
postProcessBeforelnitialization(后置处理器)
3、调用init-method -----bean已经准备好,可以进行使用了。
postProcessAfterlnitialization(后置处理器)
4、容器关闭时候调用destory方法

后置处理器

p:driver="${jdbc.driver}" p:url="${jdbc.url}"
p:username="${jdbc.username}" p:password="${jdbc.password}"

六、spring的注解

在这里插入图片描述

自动扫描:
1、在配置文件中,开启扫描component-scan,并指定扫描的包。
2、需要在要加入到ioc容器中的类加上注解。
@component @controller @ service @repository
–>创建容器时侯,扫描指定包下面的,带上以上注解的类
3、扫描到io容器中的bean,id默认为非限定类,字母小写。例如Car—car
4、关于id,还可以使用注解的value来指定其id,例如@component(value=“id”)
自动装配
@autowired注解
1、按照类型匹配;
2、如果在ioc容器中有多个相同类型的bean,那么会采用byName的方式去匹配;
3、如果在ioc容器中找不到匹配的bean,那么默认会抛异常。可以使用@Autowired(required=false)来设置bean是否需要注入(默认是true)
@resource(name=“”)(jdk的注解)
@Qualifier(“属性”)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值