`

第五章 Spring4 自动装配、方法注入

阅读更多
Spring 自动装配:

通过配置 default-autowire 属性,Spring IOC 容器可以自动为程序注入 bean;默认是 no,不启用自动装配; default-autowire 的类型有 byName,byType,constructor;

byName:通过名称进行自动匹配;

byType:根据类型进行自动匹配;

constructor:和 byType 类似,只不过它是根据构造方法注入而言的,根据类型,自动注入;

建议:自动装配机制慎用,它屏蔽了装配细节,容易产生潜在的错误;


方法注入:

Springbean 作用域默认是 单例 singleton;

可以通过配置 prototype ,实现多例;

方法注入 lookup-method;



构造方法自动装配


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

	<!-- 声明dog2,注入属性name -->
	<bean id="dog2" class="com.fx.entity.Dog">
		<property name="name" value="Jack"></property>
	</bean>
	
	
	<!-- 构造方法自动装配,将dog的值装配到people中 -->
	<bean id="people1" class="com.fx.entity.People">
		<property name="id" value="1"></property>
		<property name="name" value="张三"></property>
		<property name="age" value="11"></property>
	
	</bean>
	
</beans>





方法注入:


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

	<!-- 声明实例dog -->
	<bean id="dog" class="com.fx.entity.Dog" scope="prototype">
		<property name="name" value="Jack"></property>
	</bean>
	
	
	<!-- 方法注入 -->
	<bean id="people1" class="com.fx.entity.People">
		<property name="id" value="1"></property>
		<property name="name" value="张三"></property>
		<property name="age" value="11"></property>
		<lookup-method name="getDog" bean="dog"/>
	</bean>
	
</beans>

分享到:
评论

相关推荐

    第四章示例代码__自动装配

    标题中的“第四章示例代码__自动装配”可能指的是一个教学资源或教程的一部分,它包含了一些实际的代码示例,用于解释和演示如何在Spring框架中实现自动装配。通常,这样的示例会包括配置文件(如XML或Java配置类)...

    第二章 Spring4 IOC

    标题中的"第二章 Spring4 IOC"表明我们即将探讨的是关于Spring框架第四版本中的控制反转(Inversion of Control,简称IOC)这一核心概念。IOC是Spring框架的基础,它使得应用程序的组件能够脱离具体的依赖关系,提高...

    第一章 Spring4 简介及获取Bean

    2. **自动装配(Autowired)**:使用`@Autowired`注解,Spring会自动匹配类型匹配的Bean并注入。 3. **构造函数注入**:通过构造函数的参数,Spring会自动提供所需的Bean实例。 4. **setter方法注入**:使用`@...

    Spring第一章Spring第一章Spring第一章

    在"Spring第一章"中,我们将深入理解Spring框架的基础概念、核心特性以及如何在实际项目中应用。 1. **Spring框架简介** Spring是一个开源的Java平台,提供了一个全面的基础设施,支持开发和部署Java应用程序。它...

    详解Spring基于Annotation的依赖注入实现

    它可以放在字段、构造函数、方法上,Spring会根据类型匹配原则自动寻找相应的Bean并注入。 4. **@Qualifier**:当有多个相同类型的Bean时,可以使用@Qualifier注解指定具体要注入哪个Bean。 5. **@Resource**:与@...

    Spring in Action 中文版 第2版 第二部分

    第5章 使用数据库 第6章 事务管理 第7章 保护spring 第8章 spring和基于pojo的远程服务 第9章 在spring中建立契约优先web服务 第10章 spring消息 第11章 spring和ejb 第12章 访问企业服务 第三部分 spring...

    Spring in Action 中文版 第2版 第一部分

    第5章 使用数据库 第6章 事务管理 第7章 保护spring 第8章 spring和基于pojo的远程服务 第9章 在spring中建立契约优先web服务 第10章 spring消息 第11章 spring和ejb 第12章 访问企业服务 第三部分 spring...

    Spring5高级编程第五版 英文版

    《Spring5高级编程第五版》是一本深入探讨Spring框架核心特性和高级用法的专业书籍,主要面向已经具备一定Java和Spring基础的开发者。本指南旨在帮助读者深化对Spring的理解,提升开发效率,以及掌握最新的Spring5...

    手动实现SpringBoot自动装配类

    5. 集成第三方库:Spring Boot提供了丰富的starter,它们包含了自动配置类,可以直接引入依赖并启用。如果我们想要手动实现类似的功能,可以参考这些starter的实现方式。 在提供的压缩包文件`nettytest`中,虽然...

    spring4.x第二章代码

    第五,Spring MVC(Model-View-Controller)是Spring提供的用于构建Web应用的模块。在第二章中,你将学习如何配置DispatcherServlet,创建控制器类,以及如何将模型数据绑定到视图。`@RequestMapping`注解是关键,...

    spring4框架系列 [ 5 ]

    在Spring4框架系列的第五部分,我们将深入探讨基于注释的依赖注入,这是Spring框架的核心特性之一,极大地简化了应用程序的配置和管理。本部分主要关注以下五个关键注解:`@Component`、`@Value`、`@Resource`、`@...

    第四章 Spring Bean基础1

    Spring Bean 是 Spring 框架的核心概念,它代表了应用程序中的一个对象,这个对象可以被 Spring 容器管理,包括创建、初始化、装配、销毁等生命周期过程。在 Spring 中,Bean 定义是由 `BeanDefinition` 接口来表示...

    spring02-3

    4. `autodetect`:Spring会检测bean的属性,如果有setter方法,就尝试通过byType进行自动装配。 5. `no`:关闭自动装配,完全依赖于手动配置。 在实际使用中,选择合适的自动装配方式能显著提升开发效率,但也需要...

    Spring in Action(第二版 中文高清版).part2

    第5章 使用数据库 5.1 Spring的数据访问哲学 5.1.1 了解Spring数据访问的异常体系 5.1.2 数据访问的模板化 5.1.3 使用DAO支持类 5.2 配置数据源 5.2.1 使用JNDI数据源 5.2.2 使用数据源连接池 5.2.3 基于...

    spring 4jar 包

    2. **反应式编程支持**:Spring 4.3引入了对Reactor项目的支持,这是Spring Framework迈向反应式编程的第一步,为后来的Spring 5.x中的WebFlux奠定了基础。 3. **WebSocket支持**:提供了更完善的WebSocket支持,...

    第二节 走向自动装配1

    在Spring Framework中,注解是实现自动化装配的关键,极大地简化了传统的XML配置。本文将深入讲解Spring中的注解场景,包括数据仓储模式、通用组件模式、服务模式、Web控制器模式以及配置类模式,并探讨如何通过这些...

    spring揭秘pdf (王福强 著,前6章)

    ### 第五章:数据访问 1. **JDBC模板**:Spring JDBC模块提供的JdbcTemplate简化了JDBC操作,避免了手动管理连接和结果集。 2. **Hibernate支持**:介绍Spring如何与Hibernate集成,实现ORM(对象关系映射)。 3. **...

Global site tag (gtag.js) - Google Analytics