【Spring】配置项的优化

   

      一、两种依赖写法

            

<bean id="bean2" class="***">
       <property name="bean3" ref="bean3"/>  //第一种写法:这个意思是bean2类依赖了bean3,bean2的java类文件里,有private bean3 bean3.
       <property name="bean4">   //这是第二种写法
              <ref bean="bean4">
      </bean>

<bean id="bean3" class="***">*****

      二、default-lazy-init属性

            延迟加载bean的东西,比如,我加载的时候没有用得到bean1,那么就不会加载bean1的东西。也就是用到什么加载什么。

     三、抽象类--abstract="true"(优化1:配置项少写)

                    如果我的2个类里面有相同的属性,那么在配置的时候,我可以定义一个抽象类来配置,这样可以少些的配置项。
          抽象类:
          
<bean id="AbstractBean" abstract="true">
       <property name="id" value="100">
      //这是把公共的属性拿出来。
</bean>
          子类怎么用呢?
           
//如果子类没有自己多余的属性,这样用
<bean id="bean2" class="***" parent="AbstractBean"/>

//如果子类有自己的属性
<bean id="bean3" class="**" parent="AbstractBean">
         <property name="age">
               <value>90</value>
         </property>
</bean>


    

 四、继续优化--自动装配(优化2:配置项都不用写)

         1、根据名称完成自动装配

                        上述写法中,少写了配置项,用了一个抽象类,但是在这里,如果我们引用了别人(bean2里面用到Bean3的时候),直接自动装配即可!
              如何根据名称自动装配:
              配置文件:加default-autowire="byName"
             前提是:
             .java 文件中的public void setBean2(Bean3 bean3){this.bean3=bean3;}   这里的set后面的Bean2必须和配置文件中的<bean id="bean3" class="**">和这里的id名字一样才可以!

                       

         2、根据类型自动装配

                      default-autowire="byType"   

             这里的前提条件就是只要class后面一致就可以,不用id名称一致。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值