小弟我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
正确设置:
——————————————————————————————
注意点:
方法一要求factory-method必须是静态函数。
第一个可以理解为,调用工厂类的类方法(静态方法)
方法二要求factory-method必须不是静态函数。
第二个可以理解为,调用工厂类实例的工厂方法,要求不能是静态的。
方法一: <bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory" factory-method="createMusicBoxStatic"></bean> 方法二: <bean id="musicBoxFctory" class="onlyfun.caterpillar.factory.MusicBoxFactory"></bean> <bean id="myMusicBox" factory-bean="musicBoxFctory" factory-method="createMusicBox"></bean>
正确设置:
import onlyfun.caterpillar.factory.IMusicBox; public class MusicBoxFactory { public IMusicBox createMusicBox() { return new IMusicBox(){ public void play() { System.out.println("播放钢琴音乐..."); } }; } public static IMusicBox createMusicBoxStatic() { return new IMusicBox(){ public void play() { System.out.println("播放钢琴音乐..."); } }; } }
——————————————————————————————
注意点:
方法一要求factory-method必须是静态函数。
第一个可以理解为,调用工厂类的类方法(静态方法)
方法二要求factory-method必须不是静态函数。
第二个可以理解为,调用工厂类实例的工厂方法,要求不能是静态的。