从零开始学习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" />