spring-01 装配Bean 基于XML

实例化方式

  1. 3种bean实例化方式:默认构造、静态工厂、实例工厂

默认构造

<bean id="" class="">  必须提供默认构造

    1.  

静态工厂

  1. 常用与spring整合其他框架(工具)
  2. 静态工厂:用于生成实例对象,所有的方法必须是static

<bean id=""  class="工厂全限定类名"  factory-method="静态方法">

工厂

public class MyBeanFactory {

  

   /**

    * 创建实例

    * @return

    */

   public static UserService createService(){

      return new UserServiceImpl();

   }

}

 

 

spring配置

    <!-- 将静态工厂创建的实例交予spring

        class 确定静态工厂全限定类名

        factory-method 确定静态方法名

    -->

    <bean id="userServiceId" class="com.itheima.c_inject.b_static_factory.MyBeanFactory" factory-method="createService"></bean>

 

实例工厂

  1. 实例工厂:必须先有工厂实例对象,通过实例对象创建对象。提供所有的方法都是“非静态”的。

工厂

 

 

 

/**

 * 实例工厂,所有方法非静态

 *

 */

public class MyBeanFactory {

  

   /**

    * 创建实例

    * @return

    */

   public UserService createService(){

      return new UserServiceImpl();

   }

 

}

spring配置

 

 

 

    <!-- 创建工厂实例 -->

    <bean id="myBeanFactoryId" class="com.itheima.c_inject.c_factory.MyBeanFactory"></bean>

    <!-- 获得userservice

        * factory-bean 确定工厂实例

        * factory-method 确定普通方法

    -->

    <bean id="userServiceId" factory-bean="myBeanFactoryId" factory-method="createService"></bean>

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值