欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从零开始学习Spring - Bean 的三种创建方式(二)

程序员文章站 2022-05-23 17:21:49
...

一、前言

有时候我们不仅仅是从自己写的java文件中获取对象,还有很多情况会从别人打包好的 jar 类库中获取对象,然而默认的<bean id="id" class="xxx.xxx.xxx" />可能无法直接获取对象,比如以下情况

二、JAVA 文件

Bean 对象 com.sise.service.AccountServiceImpl.java

public class AccountServiceImpl implements IAccountService {
    public void saveAccount() {
        System.out.println("service 中 的 saveAccount 执行了!");
    }
}

普通工厂 com.sise.factory.InstanceFactory.java

public class InstanceFactory {
    public IAccountService getAccountService(){
        return new AccountServiceImpl();
    }
}

静态工厂 com.sise.factory.StaticFactory.java

public class StaticFactory {
    public static IAccountService getAccountService(){
        return new AccountServiceImpl();
    }
}

二、三种创建方式

2.1 普通方式创建

<bean id="accountService" class="com.sise.service.impl.AccountServiceImpl />

2.2 普通工厂创建

	<bean id="instanceFacotry" class="com.sise.factory.InstanceFactory />
	<bean id="accountService" factory-bean="instanceFactory" factory-method="getAccountService" />

2.3 静态工厂创建

	<bean id="accountService" class="com.sise.factory.StaticFactory" factory-method="getAccountService" />