`
Just-Do-it
  • 浏览: 29144 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring自动装配模式之:byName的解析

阅读更多
Spring自动装配模式二:byName的解析

自己简述:byName,就是要设置自动装载为byName的Bean,如果该BEAN中有某一个属性,那么,它就会在该配置文件XML中,找到与之相同ID或者NAME的BEAN,让这个BEAN装载原BEAN。

根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为byName,而该bean包含homeAddressServiceImpl属性(同时提供setHomeAddressServiceImpl(..)方法),Spring就会查找名为homeAddressServiceImpl的bean定义,并用它来装配给homeAddressServiceImpl属性。

配置文件如下:

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

     scope="singleton">

     <property name="address">

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

     </property>

</bean>

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

     scope="singleton" autowire="byName" />



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 HomeAddressServiceImpl homeAddressServiceImpl;



public void setHomeAddressServiceImpl(

        HomeAddressServiceImpl homeAddressServiceImpl) {

     this.homeAddressServiceImpl = homeAddressServiceImpl;

}



}

分享到:
评论
1 楼 kingpeixin 2012-04-28  
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"

     scope="singleton" autowire="byName" />
再加上lazy-init=true
这个是什么样的结果呢

相关推荐

    Spring自动装配解析

    - byName:根据bean的属性名自动装配。如果bean的属性名为其他bean的id,那么Spring会尝试将这个bean注入。 - byType:根据属性的类型自动装配。Spring会查找与该属性类型匹配的bean,并将其注入。 - constructor:...

    spring自动装配

    Spring自动装配提供了几种模式来处理这些依赖,如`byName`、`byType`、`constructor`、`autodetect`和`default`。这些模式帮助Spring容器识别并注入合适的依赖。 - `byName`模式:根据属性名寻找匹配的Bean名称进行...

    Java注解机制之Spring自动装配实现原理详解

    其中,byName是指根据Bean对象的名称来进行自动装配,byType是指根据Bean对象的类型来进行自动装配,constructor是指使用构造方法来进行自动装配,autodetect是指自动选择byType或constructor的自动装配方式,no是指...

    Spring源码学习二:BeanDefinition解析1

    - `getAutowireMode()`:返回自动装配模式,如BY_NAME、BY_TYPE等。 - `getInitMethodName()` 和 `getDestroyMethodName()`:获取bean的初始化和销毁方法名,用于调用bean的生命周期方法。 除此之外,Bean...

    spring学习之四“自动装配”

    Spring提供了多种自动装配模式,如`byName`、`byType`、`constructor`、`autodetect`等。 2. **byType自动装配** 文件名`spring_autowrire_byType`表明我们将重点讨论的是`byType`自动装配。在这种模式下,Spring...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    例如,我们可以在bean定义中使用`&lt;autowire&gt;`标签来指定自动装配的方式,如`byType`或`byName`。但这种方式相对繁琐,需要手动编写大量的XML配置。 随着Spring的发展,@Autowired注解应运而生,这是Annotation版本...

    JSP Spring 自动化装配Bean实例详解

    - **按名称装配(byName)**:Spring容器查找与依赖对象属性名称相同ID的Bean,并将其注入到该属性中。 - **构造器装配(constructor)**:通过Bean的构造器来实现自动装配,必须保证每个构造参数的类型都有一个唯一...

    基于XML配置Spring的自动装配过程解析

    在这种情况下,如果我们没有为特定的Bean组件指定自动装配的方式,那么Spring框架将使用`byName`方式来自动装配依赖关系。 四、自动装配的优缺点 使用自动装配可以简化配置工作量和提高开发效率,但是它也存在一些...

    Spring系列面试题129道(附答案解析)

    - byName:根据属性的名称来自动装配。 - byType:根据属性的类型来自动装配。 - constructor:通过构造函数来自动装配。 - autodetect:使用简单的启发式算法来决定是使用byType还是constructor方式。 24、自动...

    Spring注解实现自动装配过程解析

    首先,@Autowired 注解是 Spring 框架中最常用的自动装配注解之一,它可以应用于构造器、setter 方法、任意方法和字段上,以实现自动装配的功能。@Autowired 注解可以按类型装配,默认情况下必须要求依赖对象必须...

    2023最新Spring全家桶面试题-图灵徐庶

    22. 不同方式的自动装配:包括byName、byType、constructor等。 23. Spring 在加载过程中Bean有哪几种形态?:包括实例化、初始化、销毁等。 24. Spring框架中bean的生命周期:包括实例化、初始化、销毁等。 25. ...

    spring_精简教程

    - **byName**:当Bean的ID与需要注入属性的名字相同时,可以自动装配。 - **byType**:当Bean的类型与需要注入属性的类型相匹配时,可以自动装配。 #### 五、总结 通过本教程的学习,您不仅了解了Spring框架的...

    小米_spring1

    2. `byName`:Spring会尝试查找具有相同名称的Bean来装配。 3. `byType`:Spring会查找类型匹配的Bean进行装配。 4. `constructor`:与`byType`类似,但应用于构造函数参数,若有匹配的Bean则自动装配。 5. `auto...

    Spring笔记

    7. **spring_autowrire_byName**:这部分是关于Spring的自动装配(Auto-Wiring)功能,特别是通过名字(byName)进行自动装配的配置和使用。 综合以上信息,这组Spring笔记应该是一个全面的学习资源,涵盖了Spring...

    Spring的学习笔记

    - **自动装配**:byName根据bean的名称匹配,byType根据类型匹配,需要谨慎使用以避免意外的依赖注入。 - **生命周期**:包括初始化方法(init-method)和销毁方法(destroy-method),以及懒加载(lazy-init)特性...

    spring从入门到精通精简笔记

    - **byName**:根据属性名自动装配。 - **byType**:根据类型自动装配。 - **constructor**:根据构造函数参数自动装配。 - **autodetect**:尝试使用 constructor,如果不可行则使用 byType。 - **no**:不使用自动...

    Spring3配置声明式事务

    - **自动装配**:使用`default-autowire="byName"`属性实现依赖自动注入。 示例配置如下: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    Spring面试题汇总(100问).pdf

    21. 自动装配方式:有byName、byType、constructor、autodetect和default,以及基于注解的@Autowired。 22. 基于注解的容器配置:通过在类或方法上使用如@Service、@Repository、@Component、@Autowired等注解,...

    SPRING面试宝典

    - **byName**:根据Bean的名称进行装配。 - **byType**:根据Bean的类型进行装配。 - **constructor**:使用构造函数进行装配。 - **autodetect**:自动检测装配模式。 **3.14 自动装配有哪些限制?** 自动装配...

    Spring6_pdf版讲义.pdf

    - **根据名称自动装配**:使用`autowire="byName"`属性。 - **根据类型自动装配**:使用`autowire="byType"`属性。 ### 五、Bean的作用域 - **singleton**:单例模式,每个容器只有一个bean实例。 - **prototype**...

Global site tag (gtag.js) - Google Analytics