您的位置:首页 > 编程语言 > Java开发

Spring IOC 容器创建bean的几种方式(Xml配置的方式)

2020-03-29 13:00 465 查看

xml文件有三种创建bean的方式,分别是:
1、构造函数
2、静态工厂方法
3、实例工厂方法

1、构造函数

<!--  创建bean的三种方式  -->
<!--  第一种方式构造函数创建
在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签
-->
<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"></bean>
<bean id="accountDao" class="com.itheima.dao.impl.AccountDaoImpl"></bean>

2、实例工厂方法

<bean id="InstanceFactory" class="com.itheima.factory.InstanceFactory"></bean>-->
<bean id="accountService" factory-bean="InstanceFactory" factory-method="getAccountService"></bean>
/**
* 模拟一个工厂类(该类可能是存在于jar包中,我们无法通过修改源码的方式来提供默认构造函数)
* @author DELL
*/
public class InstanceFactory {

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

3、静态工厂方法

<!--  第三种方式,使用工厂中的静态方法创建对象,类中的静态方法创建对象      -->
<bean id="accountService" class="com.itheima.factory.StaticFactory" factory-method="getAccountService"></bean>
/**
* 模拟一个工厂类(该类可能是存在于jar包中,我们无法通过修改源码的方式来提供默认构造函数)
*/
public class StaticFactory {

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

测试类

public static void main(String[] args) {
//1.获取核心容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
//2,根据id获取Bean对象
IAccountService as = (IAccountService)ac.getBean("accountService");
as.saveAccount();
}
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
qq_44801336 发布了54 篇原创文章 · 获赞 5 · 访问量 748 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐