Spring自动装配模式四:constructor的解析

    技术2022-05-18  18

    Spring自动装配模式四:constructor的解析

    byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常

    <bean id="homeAddressServiceImpl" class="cn.csdn.service.HomeAddressServiceImpl"

         scope="singleton">

         <property name="address">

            <value>北京海淀上地软件园</value>

         </property>

        </bean>

        <!--

        如果在构造器中有一个实例对象,但是在配置文件中并没有与之对应的bean的实例:那么在采用

        autowire="constructor"自动装载时会出现:

        org.springframework.beans.factory.UnsatisfiedDependencyException: 异常信息

        -->

    <bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"

         scope="singleton" autowire="constructor" />

     

     

    cn.csdn.service.HomeAddressServiceImpl代码

    public class HomeAddressServiceImpl extends AddressServiceImpl {

       

        private String address;

       

        public void setAddress(String address){

           this.address=address;

        }

       

       

       

        public HomeAddressServiceImpl() {

           super();

        }

     

     

     

        public HomeAddressServiceImpl(String address){

           this.address=address;

        }

     

    }

     

    cn.csdn.service.EmpServiceImpl 代码

    package cn.csdn.service;

     

    public class EmpServiceImpl {

       

        /**公司地址*/

        private AddressServiceImpl companyAddress;

     

        public EmpServiceImpl(AddressServiceImpl companyAddress) {

           super();

           this.companyAddress = companyAddress;

        }

     

    }

     

     

     


    最新回复(0)