IOC基于注解操作Bean管理

一、简介

        1. Spring中有两种Bean,一种是普通Bean,一种是工厂Bean(FactoryBean)。

        2. 普通Bean定义类型和返回类型一致;工厂Bean定义类型和返回类型不一致

        3. 工厂Bean:第一步:创建类,让这个类作为工厂Bean,实现接口FactoryBean;第二步:实现接口里面的方法,在实现的方法中定义返回的Bean类型

二、Bean的作用域

        1. 在Spring里面,默认情况下是单实例对象

        2. 如何设置单实例和多实例 ? 

                (1)在Spring配置 文件Bean标签里面有属性scope用于设置单实例还是多实例

                (2)scope属性值

                        ① 默认值 singleton 表示单实例对象

                        ② prototype 表示多实例对象

                (3)singleton 和 prototype 的其它区别

                        ① 设置scope值是singleton单实例时,加载Spring配置文件的时候就会创建单实例对象,而prototype是在调用getBean方法是创建多实例对象

三、Bean的生命周期 

        1. 生命周期

                (1)是指从对象创建到对象销毁的过程

        2. Bean的生命周期

                (1)通过构造器创建Bean实例

                (2)为Bean的属性注入值和对其它Bean的引用

                (3)调用Bean的初始化的方法

                (4)获取Bean对象

                (5)当容器关闭时,调用销毁Bean对象的方法

四. IOC基于注解操作Bean管理

        1. 什么是注解?

                (1)注解是代码的特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值)

                (2)注解可以作用在类、方法、属性上

                (3)目的:简化xml配置

        2. Spring针对Bean管理中创建对象提供的注解

                @Component、@Service、@Controller、@Repository

        3. 基于注解方式实现对象创建

                (1)第一步-引入依赖

                (2)第二步-开启组件扫描 -确定注解位置

                (3)第三步-创建类,在类上面添加创建对象的注解 

        4. 基于注解方式实现属性注入

                (1)常用注解:

                        ① @AutoWired:根据属性类型进行自动装配

                                第一步:把Service和Dao类创建并添加注解

                                第二步:在Service中注入Dao对象,在Service类中添加Dao属性

                                第三步:在Dao属性上使用注解--set和get在注解中已经实现

                        ② @Qualifier:根据属性名称进行注入

                                @Qualifier需要和@AutoWired协同使用

                                @Qualifier在接口有多个实现类时,可以通过名称来指定实现类

                                注意要在接口实现类注解中设置名称或采用默认值(首字母小写)

                        ③ @ReSource:(javax)既可以根据类型注入,也可以根据名称注入

                                不是官方的,不建议使用

                        ④ Value:注入普通类型属性

五、完全注解开发

        1. 创建配置类,代替xml文件

        2. 编写测试类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值