zoukankan      html  css  js  c++  java
  • 2.IOC 配置与应用(xml的方式)

    1.注入方式

      a)setter(主要)

      b)构造方法(可以忘记)

      c)接口注入(可以忘记)

    2.id  vs  name

      bean 标签中可以使用  name 属性 来完成 id 属性的功能,不过习惯用id 

      另外,name 还可以使用特殊字符,但是谁没事会写一些特殊字符 作为 Map的key

    3.简单属性的注入

      <property name=… value=….>

    4.<bean> 中的 scope 属性

      <bean id="userService" class="com.bjsxt.service.UserService" scope="prototype">

      当容器中的对象被拿出使用时,是否创建新的

      proptotype 每次创建新的对象     singleton 单例 

    5.集合注入

      <property name="lists">
        <list>
          <value>1</value>
          <value>2</value>
          <value>3</value>
        </list>
      </property>

    6.自动装配

      a) byName    

        <bean id="userService" class="com.bjsxt.service.UserService"  autowire="byName">

        使用了 autowire 属性后,不需要在下面 使用 property 手动指定 注入哪个bean

        会自动去找 这个bean 的set方法,如:在这里找到了 UserService 的 setUserDao这个方法

        拿到这个方法名,去掉 set ,再将首字母小写,得到字符串(userDao),再去看容器中,是否有

        id为 userDao的 bean,自动有的话,将其注入进来

      b) byType

        按照set 方法所接收的参数的类型的来确定 

      c)如果所有的bean都用同一种,可以使用beans的属性:default-autowire

      

    7.生命周期

       lazy-init  

      init-method   destory-method

    1 <!-- 使用lazy-init 来指定是否在spring容器启动时,就加载这个bean对象,设置为 true 启动就加载,设置为false  用到的时候再加载,有点像hibernate里面的 fetchType -->
    2      <!-- 使用 init-method   destroy-method   来指定该bean对象加载和销毁时 调用的 该对象的方法,这也能够确定该对象的生命周期-->
    3      <!-- 另外:init-method   destroy-method   不要和  不要和prototype一起用,因为这样使用了,bean对象无法销毁 -->
    4   <bean id="userService" class="com.bjsxt.service.UserService" lazy-init="true" init-method="init" destroy-method="destroy">
    5       <property name="userDAO" ref="u" />
    6   </bean>
  • 相关阅读:
    C++初识
    实现小程序iphonex与iphone6底部适配
    vue-element实现外部独立全选
    flex中图片元素被挤压问题
    vue+element-Ui实现简单的表单必填项验证(1)
    Vuex——项目应用(1)
    Vue项目小应用
    transtion过渡
    axios的高阶用法
    阿里云服务器初步使用介绍
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7396115.html
Copyright © 2011-2022 走看看