`
张玉龙
  • 浏览: 737402 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

spring 自动装配 default-autowire="byName/byType"[转]

 
阅读更多
spring 自动装配 default-autowire="byName/byType"


一、spring 自动装配 default-autowire="byName"

byName,按变量名称,与id名称一样,若不一样,就报错。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
           default-autowire="byName">

<bean id="bean1" class="com.zd.bean.Bean1" >
<!-- 配了default-autowire="byName" ,可以注释
    <property name="bean2">
         <ref bean="bean2" />
    </property>
    <property name="bean3" ref="bean3" />
    <property name="bean4">
        <bean class="com.zd.bean.Bean4">
            <property name="age" value="16" />
        </bean>
    </property>
-->
</bean>

二、spring 自动装配 default-autowire="byType"

byType,按类型自动装配,若变量与id不匹配,也没关系

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
           default-autowire="byName">

<bean id="bean1" class="com.zd.bean.Bean1" >
<!-- 配了default-autowire="byType" ,可以注释
    <property name="bean2">
         <ref bean="bean2" />
    </property>
    <property name="bean3" ref="bean3" />
    <property name="bean4">
        <bean class="com.zd.bean.Bean4">
            <property name="age" value="16" />
        </bean>
    </property>
-->
</bean>

三、默认配置是no,推荐用这种,因以上自动装配,对维护不是太好。

分享到:
评论

相关推荐

    spring-autowire-demo.zip

    本示例"spring-autowire-demo.zip"是基于Spring 5.3.6版本,通过多个示例展示了自动装配的不同方式:default、byName、byType和constructor,帮助我们更深入理解这个功能。 首先,让我们了解什么是自动装配。自动...

    Spring中自动装配的4种方式

    可以在 beans 标签中设置 default-autowire 属性为 byName、byType 等,来设置所有 bean 都进行自动装配。例如: ```xml &lt;beans default-autowire="byName"&gt; &lt;!-- 在这里定义 bean --&gt; &lt;/beans&gt; ``` 在上面的例子中...

    spring自动装配

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

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

    在上面的示例中,我们使用`default-autowire`属性来设置全局自动装配的方式为`byName`。在这种情况下,如果我们没有为特定的Bean组件指定自动装配的方式,那么Spring框架将使用`byName`方式来自动装配依赖关系。 四...

    Spring考试.doc

    - Spring中有两种主要的装配模式:按类型装配(byType)和按名称装配(byName)。 - 默认情况下,Spring并不会自动装配bean,需要在配置中明确指定,例如`default-autowire="byType"`。 - `default-autowire`属性...

    Spring的自动装配源代码

    本文将深入探讨Spring中的六种自动装配方式:byType、byName、no、constructor、autodetect和default。 1. byType(按类型装配) 当Spring容器在配置文件中找不到明确的通过`ref`属性指定的依赖时,会尝试通过类型...

    如何完成spring的最小化XML配置

    - `byName`:Spring会尝试查找与Bean属性名称相匹配的Bean进行注入。 - `byType`:根据Bean的类型,Spring会寻找相同类型的Bean进行注入。 - `constructor`:基于构造函数参数的类型进行自动装配。 - `auto...

    马士兵spring学习笔记

    - **ByName:** 根据名称自动装配。 - **ByType:** 根据类型自动装配。 - **Default-Autowire:** 所有Bean采用相同的装配策略。 **生命周期管理:** - 支持Bean的初始化和销毁方法的定义。 **Annotation支持:** - ...

    xmljava系统源码-SpringInAction4:《SpringInAction4th》学习笔记

    可以在一个应用上下文中定义多个配置文件,每个配置文件设置自己的默认自动装配策略(default-autowire) 如果使用constructor自动装配策略,就不能混合使用constructor-arg 注解方式可以实现更细粒度的自动装配,...

    spring配置详解

    `autowire`属性可以设置为`byName`、`byType`、`constructor`或`default`,让Spring根据bean的名称、类型或构造器自动查找并注入依赖。 七、Spring与其他技术的集成 Spring支持与各种技术的集成,如JDBC、JMS、...

    详解Java的Spring框架下bean的自动装载方式

    本文将详细介绍其中的两种模式:byName和byType。 1. byName模式: 在byName模式下,Spring容器会根据Bean的属性名尝试寻找匹配的Bean定义进行注入。如果一个Bean的属性名为`spellChecker`,并且有一个相应的`...

    Spring In Action笔记100例

    - **`byName`**: 根据属性名自动匹配对应的Bean。 - **`byType`**: 根据属性类型自动匹配对应的Bean。 - **`constructor`**: 通过构造函数进行自动装配。 - **`autodetect`**: 如果存在一个无参构造函数,则使用`...

    Spring配置文件

    4. **自动装配**:Spring提供了自动装配功能,通过`autowire`属性,如`&lt;bean autowire="byName|byType|constructor|default|no"`,可以简化配置。例如,`byType`会根据类型自动匹配并注入Bean。 5. **AOP配置**:...

    spring常见问题

    Spring框架常见问题解析 本文将对 Spring 框架中的常见问题进行详细的解析,涵盖框架的核心概念、依赖注入、AOP技术、动态代理、自动...Autowire 有六种方式:No、byName、byType、constructor、autodetect、default。

    软通笔试题

    Spring 本身为 autowire 属性提供了五个选项:no、byName、byType、constructor 和 autodetect。其中,no 表示不使用自动装配,必须通过 ref 元素指定依赖;byName 根据属性名自动装配;byType 根据属性类型自动装配...

    spring 配置文件简单说明

    - `byName`: 根据属性名查找同名的Bean。 - `byType`: 根据属性类型查找匹配的Bean。 - `constructor`: 应用于构造函数参数,按类型查找匹配的Bean。 - `autodetect`: 自动检测使用`constructor`还是`byType`。 ...

    软通动力Java笔试题2011.docx

    Spring 本身为 autowire 属性提供了五个选项:no、byName、byType、constructor、autodetect。 四、会话的创建 默认情况下,用户请求一个 Servlet 时,容器会为当前用户创建一个会话;当用户请求一个 Jsp 页面时,...

Global site tag (gtag.js) - Google Analytics