Spring2

Bean的实例化
.Spring容器创建Bean对象的方法有三种
-构造器来实例化
<bean id="helloWorld" class="com.seecen.javaBean.HelloWorld"></bean>

<bean name="helloWorld" class="com.seecen.javaBean.HelloWorld"></bean>
id或name属性用于指定Bean名称,用于从Spring中查找这个Bean对象

class用于指定Bean的类型,会自动调用无参构造器创建对象.

-使用静态工厂方法实例化

-使用实例工厂方法实例化

Bean的命名
.Bean的名称
-在Spring容器中,每个Bean都需要有名字(标识符),该名字可以用Bean元素的id和name属性指定.(唯一
性,不能使用特殊符号:"/"等)

.Bean的别名

Bean的作用域
.Spring容器在实例化Bean时,可以创建以下作用域的Bean对象
作用域                    描述
singleton                在每个Spring IOCring容器中一个Bean定义对应一个对象实例,默认项
prototype                一个bean定义对应多个对象实例
request
session
global Session

实例化Spring容器实例.
步骤一:导包
步骤二:新建Spring配置文件
步骤三:配置javaBean
步骤四:测试

Bean的生命周期回调
.指定初始化回调方法init
.指定销毁回调方法destory
ps:指定销毁回调方法,仅适用于singleton模式的bean

Bean延迟实例化

指定bean依赖关系

控制Bean的实例化
测试Bean的作用域,Bean的生命周期回调(创建,初始化,被使用,销毁),Bean对象的创建时机以及如何指定Bean的依赖关系

步骤一:新建ExampleBean
Bean的生命周期回调(创建,初始化,被使用,销毁)
销毁:希望bean对象销毁前自动调用destory方法

在顶级元素或根元素<beans>元素中default-init-method属性以及default-destory-method属性,
可以为容器中的所有<bean>指定初始化回调方法以及销毁回调方法

步骤三:bean对象的创建时机
ps:IOC容器中的bean对象在容器被加载时就会被创建
原因:为了节省资源,当用户需要用到某些bean再创建指定的bean.
解决方案:
通过设置配置文件lazy-init="true",可以改变spring容器创建对象的时机
使用该属性之后,容器中的对象不使用则不创建
在顶级beans元素中使用dafault-lazy-init为容器中所有的bean指定延迟实例化特性

步骤四:指定bean依赖关系
  A    B
  A类中有一个B类型的属性
  A类实例化依赖于B类

A类型即使没有B类型的属性
但是如果A类型要创建对象成功必须先实例化B类型对象

<bean id="exampleBean" depends-on="exampleBean1" class="com.seecen.javaBean.ExampleBean"></bean>
<bean id="exampleBean1" class="com.seecen.javaBean.ExampleBean1"></bean>
通过上述配置可以看出:exampleBean依赖于exampleBean1
因此在创建exampleBean的同时也创建exampleBean1

4.利用Spring实现bean属性setter方式注入
JDBCDateSource类封装了管理数据库连接的方式getConnection().

利用Spring实现JDBCDateSource对象的创建(实例化),在使用setter注入方式将数据库参数注入
给JDBCDateSource,这样就可以正常的调用getConnection方法获取数据库连接了.

IOC:控制反转
IOC:是指程序中对象获取的方式发生反转,由最初的new方式创建,转变为由第三方框架创建,注入.
第三方框架一般是通过配置方式指定注入哪一个具体实现,从而降低了对象之间的耦合度
.Spring容器是采用DI方式实现了IO控制.IOC是Spring框架的基础和核心.

IOC是一种思想,而DI是实现IOC的主要技术途径
DI主要有两种注入方式,即setter注入和构造器注入
setter注入:.........

构造器注入:
基于构造器的注入是通过调用带参数的构造器来实现的,容器在bean被实例化的时候,根据参数类型
指向对应的构造器


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值