Spring bean 学习细节

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

<!--    把对象的创建交给spring管理-->
        <!--spring 对bean的管理细节
            1.创建Bean的三种方式
            2. bean的作用范围
            3. bean的生命周期
        -->
        <!--创建Bean的三种方式 -->
        <!--第一种方式 使用默认构造函数创建
                在spring 配置文件中使用bean标签, 配以id 和class 属性之后, 没有其他属性和标签时
                采用默认构造函数创建bean对象, 此时如果类中没有默认的构造函数,对象无法创建

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

    <!--使用普通工厂中的方法创建对象 使用某个类中的方法创建对象 存入spring容器
    <bean id="instanceFactory" class="com.itcast.factory.InstanceFactory"></bean>
    <bean id="accountService" factory-bean="instanceFactory" factory-method="getAccountService"></bean>
    -->


    <!--第三种方式 使用静态工厂中的静态方法创建对象(使用某个类中的静态方法创建对象, 存入spring容器
    <bean id="accountService" class="com.itcast.factory.StaticFactory" factory-method="getAccountService" ></bean>
    -->

    <!--bean的作用范围调整
            bean标签的scope属性:
                用于指定bean的作用范围
                取值:
                        singleton: 单例 默认
                        prototype: 多例
                        request:   作用于web应用的请求范围
                        session:    作用于web应用的会话范围
                        global-session: 作用于集群环境的会话范围,全局会话范围  不是集群时就是session

    <bean id="accountService" class="com.itcast.service.impl.AccountServiceImpl" scope="prototype"></bean>
    -->
    <!--    bean的生命周期
            单例对象
                出生: 当容器创建时,对象出生
                或者: 只要容器还在 对象一直在
                死亡: 容器销毁 对象销毁
                总结: 单例对象的声明周期和容器相同
            多例对象
                出生: 当我们使用对象时, spring替我们创建
                或者: 对象只要是在使用过程宗 一直活着
                死亡: 当对象长时间不用,且没有别的对象引用时, 由java垃圾回收器回收
        -->
    <bean id="accountService" class="com.itcast.service.impl.AccountServiceImpl"
          scope="prototype" init-method="init" destroy-method="destroy"></bean>







</beans>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值