Bean的实例化方式
Bean的实例化方式{默认构造:<bean id="BookServiceId" class=" ∼.BookServiceImpl">静态工厂:static修饰的方法+工厂模式实例工厂:所有的方法必须是非静态的 Bean\mathrm{的实例化方式}\left\{\begin{array}{l}\mathrm{默认构造}:<bean\;id="BookServiceId"\;class="\;\sim.BookServiceImpl">\\\mathrm{静态工厂}:static修饰的方法+工厂模式\mathrm{}\\\mathrm{实例工厂}:\mathrm{所有的方法必须是非静态的}\end{array}\right. Bean的实例化方式⎩⎨⎧默认构造:<beanid="BookServiceId"class="∼.BookServiceImpl">静态工厂:static修饰的方法+工厂模式实例工厂:所有的方法必须是非静态的
静态工厂:常用于Spring去整合其他框架或工具
<bean id="UserServiceId" class="工厂的全限定类名(包名+类名)" factory-method="静态的生产方法"></bean>
实例工厂:必须先有工厂实例,通过工厂实例创建对象
<bean id="MyBeanFactoryId" class="~.BookServiceFactory"></bean>
<bean id="UserServiceId" factory-bean="MyBeanFactoryId" factory-method="creatrService"></bean>
Bean的种类
1.普通Bean
2.FactoryBean
FactoryBean:一种特殊的Bean,具有工厂生产对象的能力,只能生成特定的对象,bean必须使用FactoryBean接口,此接口提供getObject()方法用于获取特定的Bean
<bean id="" class="FB"></bean>
先创建FB实例,使用getObject()方法,并返回方法的返回值
FB fb=new FB();
return fb.getObject();
BeanFactory和FactoryBean对比
BeanFactory 工厂用于生成任意bean
FactoryBean 特殊的bean,用于生成另一个特定的bean例如:ProxyFactoryBean,此工厂bean用于生产代理,bean id="" class="ProxyFactoryBean"可获得代理对象实例,AOP使用
本文详细介绍了Spring中Bean的三种实例化方式:默认构造、静态工厂及实例工厂,并阐述了FactoryBean这一特殊Bean类型及其与BeanFactory的区别。
859

被折叠的 条评论
为什么被折叠?



