关闭

Spring

140人阅读 评论(0) 收藏 举报

一.使用ApplicationContext获取bean与使用bean工厂获取bean有什么区别?

答: ApplicatonContext在初始化时如果bean的scope是singleton时就已经创建了bean对象。bean工厂则是在调用getBean方法时才创建的bean对象(有点像延迟加载),一般都是使用ApplicationContext来创建,如果内存非常小,则选用bean工厂来创建。

二.Bean的生命周期(通过ClassPathXmlApplicationContext来获取bean对象)

1.调用无参构造函数初始化对象

2.调用set方法设置属性值

3.实现BeanNameAware可以获取引用id

4.实现BeanFactoryAware可以获取bean工厂

5.实现ApplicationContextAware可以获取spring容器对象

6.定义一个类实现BeanPostProcessor接口,可以对初始化的所有对象进行编程(aop),后置处理器

7.定制初始化方法(init)

8.使用bean

9.关闭容器

10.调用销毁方法

三.属性注入

通过set注入:

1.如果注入的是基本类型的数组,可以使用以下方式来为属性赋值

<list>

<value></value>

</list>

2.如果注入的是list集合,并且类型是一个自定义对象时,使用如下方式

<list>

<ref bean=""/>

</list>

3.如果注入的是set集合,并且类型是一个自定义对象时,使用如下方式

<set>

<ref bean=""/>

</set>

4.如果注入的是map

<map>

<entry key ="", value 或者是value-ref =""></entry>

</map>

通过构造方法注入:

<constructor-arg> 类型有index 代表顺序,type代表java类型,value表示简单的数据类型的值,ref表示一个引用对象

 

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:38985次
    • 积分:917
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:29篇
    • 译文:0篇
    • 评论:16条
    文章分类
    最新评论