Spring_IOC\DI 入门

根据老师上课讲解,自己对学习的整理

Spring对象的生命周期

生命周期说明

1.对象创建   (不需要标识,自己创建的时候生成)

2.初始化

3.对象调用    (不需要标识,用户手动调用)

4.对象销毁

如果需要执行销毁方法,则需要先关闭容器对象,接口并没有提供关闭方法,需要将接口类型换成实现类类型,销毁行为是敏感行为

生命周期方法都是自动调用

@PostConstruct 标识初始化方法

@PreDestroy 标识销毁方法

Spring管理对象-@Componet

@Componet/@Bean区别

1.

@Componet         Spring容器通过反射机制自动创建对象

@Bean                  是用户手动创建对象

2.

@Componet          标识类

@Bean                   标识配置类中的方法

3.

@Component         对象的id是类名首字母小写

@Bean                   对象的id是方法名

Spring-DI(Dependency Injection)

Spring中依赖注入

依赖注入就是将Spring容器中管理对象(数据),赋值给对象的属性。

核心机制:如果需要使用依赖注入,则对象的属性必须由setxx()方法

为对象赋值

【set方法注入】

在<bean>标签里添加property标签,name为属性名,value为属性值

【构造方法注入】

在<bean>标签中添加constructor-arg标签,name为属性名

IOC/DI意义

Spring中IOC(控制反转)/DI(依赖注入)两种方式相互结合,实现了代码的松耦合

@AutoWired        自动注入

规则:

        1.默认条件下使用set注入,按照类型匹配

        2.set方式注入也可以按照name名称进行匹配

        3.只要使用注解,默认自动生成set方法

实现原理;

        1.类型匹配:如果是接口,则自动匹配其实现类对象

        2.name名称匹配:根据spring中的key进行注入

多实现解决:

        @Qualifier必须和@Autowired联用

        并且需要指定value的名称,就是spring中的key

一般情况下,spring都是单实例

多实现类情况处理

Spring中的DI注入,一般情况下        采用按照类型的方式匹配,如果遇到多实现类的情况,则会报错

这时就可以在resources文件夹下编辑properties配置文件

#1.数据结构        key=value

#2.其中的数据默认都是String类型,数值可以切换为数值类型

#3,程序读取时,默认的字符集时ISO-8859-1        不支持中文

#如果需要支持中文需要使用utf-8

#赋值规则:类名小写.属性=数值

properties文件
#1.数据结构key=value
#2.其中的数据默认都是String类型,数值可以切换为数值类型
#3.程序读取时,默认字符集为ISO-8859-1,可以在配置中Editor->Code Style->File Encodings中修改成为UTF-8
#id=100 建议使用类名+属性
dept.id=100

在数据类添加注解

@PropertySource(value="classpath:/文件名",encoding="UTF-8")

当spring容器启动时,加载指定的配置文件,讲数据保存到容器中

在数值上添加

简单数据赋值:@Value("值")

减少耦合:@Value(“${文件中的数据Key}”),在properties文件中写值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值