`
hanyi366
  • 浏览: 290807 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring的自动装配(default-autowire="byName")

 
阅读更多

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种方式

    byName 自动装配是指通过设置 property 标签的 autowire 属性为 byName,Spring 将自动寻找一个与该属性名称相同或 id 相同的 Bean,注入进来。例如: ```xml &lt;bean id="dataSource" class=...

    spring自动装配

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

    Spring的自动装配源代码

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

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

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

    Spring考试.doc

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

    SSH学习之spring

    &lt;beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"&gt; &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; &lt;property name=...

    CRUD代码编写.pdf

    使用`default-autowire="byName"`和`default-lazy-init="true"`可以让Spring自动装配Bean,并延迟初始化。 3. **Controller层设计**: - **Struts 2的使用**:在编写Controller层时,应遵循Struts 2的最佳实践,...

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

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

    ssh开源框架日志心得.pdf

    4. **Spring装配策略default-autowire="byName"`: 这个策略指示Spring自动根据bean的属性名称查找相同名称的bean来注入。如果在不同的配置文件中设置,会影响Spring容器如何解析和注入bean。例如,如果在所有配置...

    马士兵spring学习笔记

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

    spring快速上手例子

    &lt;bean default-autowire="byName"&gt; &lt;!-- 配置 ArticleDaoImpl --&gt; &lt;bean id="articleDao" class="demo.dao.ArticleDaoImpl"&gt; &lt;!-- 设置SessionFactory --&gt; &lt;property name="sessionFactory" ref=...

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

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

    MVC的Sring用法详细介绍

    `default-autowire="byName"`表示Spring会根据Bean的属性名自动查找和注入相应的Bean,简化了配置工作。 6. **环境准备**:在实际开发中,需要安装JDK和Web服务器(如Tomcat),并确保所有必要的库(如Spring、...

    Spring bean 加载执行顺序实例解析

    &lt;beans default-autowire="byName"&gt; &lt;bean id="a" class="testspring.A" init-method="init"&gt; &lt;bean id="b" class="testspring.B"&gt; ``` 测试代码: ```java public static void main(String[] args) { ...

    Spring In Action笔记100例

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

Global site tag (gtag.js) - Google Analytics