Spring配置文件

Bean标签

  基本属性

    1  id: Bean实例在Spring容器中的唯一标识

    2  class:Bean的全限定名称

Bean标签范围配置

  1  scope:对象的作用范围

    取值范围

      singleton:默认的,单例的

        Bean的实例化个数:1个

        Bean的实例化时机:当Spring核心文件被加载时,实例化配置的Bean示例

        Bean的生命周期:

          对象创建:当应用加载,创建容器时,对象就被创建了

          对象运行:只要容器在,对象一直活着

          对象销毁:当应用卸载,销毁容器时,对象被销毁

      prototype:多例的

        Bean的实例化个数:多个

        Bean的实例化时机:当调用getBean()方法时实例化Bean

        Bean的生命周期:

          对象创建:当使用对象时创建

          对象运行:只要对象在使用,对象一直活着

          对象销毁:对象长时间不用时,被java的垃圾回收器回收

 

Bean的生命周期配置

  1  init-method:指定类中初始化方法名称  

  2  destroy-method:指定类中销毁方法名称

Bean实例化的三种方式

  1  无参构造方法实例化   

    <bean id="userDao" class="com.zl.impl.UserDaoImpl"></bean>

  2  工厂静态方法实例化

    <bean id="userDao" class = "com.zl.factory.StaticFactory" factory-method="getUserDao""></bean>

  3  工厂实例方法实例化

    <bean id="factory" class = "com.zl.factory.DynamicFactory" "></bean>

    <bean id="userDao" factory-bean="factory" factory-method="getUserDao"/>

 

依赖注入

  1  set  (name是set方法后缀名,而且第一个字母小写)

  <bean id="userService" class="com.zl.impl.UserServiceImpl">

      <property name="userDao" ref="userDao"></property>

  </bean>

  p命名空间

    <bean id="userService" class="com.zl.impl.UserServiceImpl" p:userDao-ref="userDao"></bean>

  2  构造  (name是构造方法形参列表参数名 ref是id)

  <bean id="userService" class="com.zl.impl.UserServiceImpl">

    <constructor-arg name="userDao" ref = "userDao" ></constructor-arg>

  </bean>

依赖注入的数据类型

  1  普通数据类型

    

  <bean id="userDao" class="com.zl.impl.UserDaoImpl">

      <property name="username" value="zhangsan"></property>

  </bean>

  2 集合数据类型

  <bean id="userDao" class="com.zl.impl.UserDaoImpl">

      <property name="strList">

        <list>

          <value>aaa</value>

          <value>bbb</value>

        </list>

      </property>

      <property name="userMap">

        <map>

          <entry key="u1" value-ref="user1"></entry>

          <value>bbb</value>

        </map>

      </property>

  </bean>

 

  <bean id="user1" class = "com.zl.domain.User">

    <property name="name" value="lucy">

  </bean>

  3  引用数据类型

posted @   Cuora  阅读(317)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示