目标明确
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的卢氏网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!简单叙述一下本文想要解决的问题:如何在Spring中不再使用Spring创建Bean实例,而是把Bean创建过程转移到开发者手中。
思路清晰
创建Bean实例的方式:
1) 通过构造器(有参或无参)
方式:
2) 通过静态工厂方法
方式:
注: 工厂类实例没有创建
3) 通过实例工厂方法(非静态方法)
方式:
注: 工厂类实例被创建
方法实用
示例1:
需求:
1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离。
2 实现单例的bean
以上的情况,都可以通过工厂方法factory-method来创建bean。
这样再加载bean.xml时,不会直接实例化bean,而是当调用factory-method所指的方法时,才开始真正的实例化。
实现:通过spring的factory-method来创建单例的bean
首先通过静态内部类创建一个单例对象
package com.spring.test.factorymethod; public class Stage { public void perform(){ System.out.println("演出开始..."); } private Stage(){ } private static class StageSingletonHolder{ static Stage instance = new Stage(); } public static Stage getInstance(){ return StageSingletonHolder.instance; } }