java bean工厂_spring学习之bean的静态工厂实例化

静态工厂实例化

factory的配置如下:

ClientService

public class ClientService {

private static ClientService clientService = new ClientService();

private ClientService() {}

public static ClientService createInstance() {

System.out.println("createInstance");

return clientService;

}

}

DefaultServiceLocator

public class DefaultServiceLocator {

public ClientService createClientServiceInstance() {

System.out.println("createClientServiceInstance");

return ClientService.createInstance();

}

public ClientService createClientServiceInstance2() {

System.out.println("createClientServiceInstance2");

return ClientService.createInstance();

}

}

测试代码

@Test

public void test4() {

ApplicationContext app = new ClassPathXmlApplicationContext("factory.xml");

System.out.println(app.getBean("clientService"));

System.out.println(app.getBean("clientService2"));

}

运行结果如下:

9ce1681a245b7b254cb26207fcc027e1.png

factory-method用于指定实例化的静态方法,factory-bean用于指定哪个bean,可以与bean的类解耦,更近灵活。如果是注解的话,那更简单了,直接在@bean里调用方法就好,这边不演示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值