`

自动装配,继承和依赖,作用域

 
阅读更多

自动装配有三种方式(实际开发中很少使用),使用autowire装配

1.byType根据类型自动装配,如果IoC容器中有多个相同类型的bean无法具体判断

 

2.byName根据名称自动装配

 

3.constructor不推荐

<!-- 通过构造器方式配置bean -->
	<bean id="car" class="com.hous.spring.Car">
		<constructor-arg value="pasate" index="0"></constructor-arg>
		<constructor-arg value="shanghai" index="1"></constructor-arg>
		<constructor-arg value="300000" type="double"></constructor-arg>
	</bean>
	
	<bean id="address" class="com.hous.spring.Address"
		p:city="suqian" p:street="shuanghe"/>
	
	<!-- 会根据名称自动装配car和address -->
	<bean id="person" class="com.hous.spring.Person" 
		p:name="box"  p:age="28" autowire="byName" />

 

 Bean的继承和依赖

spring允许继承父bean的配置,子bean可以覆盖父bean继承过来的属性,若只想把父bean做为模板,可以设置bean的abstract属性为true,若忽略父bean的class属性,则abstract属性必须为true

 

	<bean id="address" 
		p:city="suqian" p:street="shuanghe" abstract="true"/>
	
	<bean id="address2" class="com.hous.spring.Address"
		p:city="nanjing" parent="address"/>

 

 spring允许使用depends-on属性设置bean的前置依赖bean,如果有多个依赖可以使用逗号或者空格分开

 

	<bean id="address" class="com.hous.spring.Address"
		p:city="suqian" p:street="shuanghe"/>
	
	<bean id="person" class="com.hous.spring.Person"
		p:age="20" p:name="hous" depends-on="address"/>

 

bean的作用域singleton和prototype(request和session使用较少)

可以使用scope设置作用域

	<!-- 
		singleton:默认值,在容器初始化的时候创建,在整个bean的生命周期中只创建一次bean,单例的
		prototype:容器初始化的时候并不创建bean的实例,每次请求的时候创建bean的实例并返回
	 -->
	<bean id="person" class="com.hous.spring.Person"
		p:age="20" p:name="hous" scope="prototype"/>

 

分享到:
评论

相关推荐

    spring入门教程之bean的继承与自动装配详解

    在Spring框架中,Bean是核心概念之一,它们代表了应用程序中的对象,负责执行特定的功能。...在实际开发中,根据需求选择合适的作用域、自动装配策略以及利用Bean继承,可以使应用程序更具灵活性和可维护性。

    Spring Reference - Core Technologies.pdf

    单例Bean可以依赖原型作用域的Bean,每次获取单例Bean时,都会返回一个新的原型Bean实例。 1.5.4 Web作用域 Spring为Web应用定义了request、session、application和WebSocket作用域。 1.5.5 自定义作用域 Spring...

    spring个人笔记,很好的哦

    总的来说,Spring框架通过其强大的依赖注入机制、灵活的对象作用域和自定义属性编辑器等功能,极大地简化了Java应用程序的开发和维护,使得开发者可以专注于业务逻辑,而非底层的基础设施。理解和掌握这些核心概念...

    spring core官方文档.pdf

    以上是对Spring Core官方文档的部分内容进行的详细总结,涵盖了Spring框架中IoC容器的基础概念、Bean的配置和管理、依赖注入、Bean的作用域以及Bean定义的定制等内容。这些知识点对于理解和使用Spring框架至关重要。

    spring自动扫描和管理Bean的示例

    - **@Scope**:定义Bean的作用域,如单例(singleton)、原型(prototype)等。 - **@PostConstruct** 和 **@PreDestroy**:标记初始化和销毁方法,Spring会在Bean创建后和销毁前调用这些方法。 在`spring_autozp_...

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

    - 不能自动装配基本类型和String类型的依赖项。 25、什么是基于注解的容器配置。 基于注解的容器配置是指使用Java注解来配置Spring IoC容器,而不是使用XML文件。这种方式使得配置更加简洁,并且易于维护。 26、...

    Spring Reference Core Technologies

    自动装配是一种简化依赖注入的方式,但需要注意其局限性和潜在问题。 - **1.4.6 方法注入** - **查找方法注入**:用于动态设置Bean的状态。 - **任意方法替换**:可以替换Bean的方法实现,提供更灵活的定制能力...

    尚硅谷佟刚Spring4代码及PPT.rar

    代码及ppt涵盖 Spring4.0 的所有核心内容:在 Eclipse 中安装 SpringIDE 插件、IOC & DI、在 Spring 中配置 Bean、自动装配、Bean 之间的关系(依赖、继承)、Bean 的作用域、使用外部属性文件、SpEL、管理 Bean 的...

    Spring5.0中文开发手册

    - 开发者可以根据需要定义自己的作用域。 - **3.6 Customizing the nature of a bean** - **3.6.1 生命周期回调函数** - 定义bean的初始化和销毁方法。 - **3.6.2 ApplicationContextAware and BeanNameAware*...

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    2. **`@Autowired`注入**:当Bean被自动扫描后,Spring可以使用`@Autowired`注解自动装配依赖。这个注解告诉Spring,应该找到类型匹配的Bean来注入当前Bean的属性、构造器参数或方法。 3. **`@Configuration`与`@...

    Spring环境搭建

    总结,Spring环境的搭建涉及到库的配置、配置文件的编写、bean的定义与依赖注入、属性编辑器的定制以及bean的作用域和自动装配等多方面的知识。理解并熟练掌握这些概念,将有助于你有效地使用Spring框架进行应用程序...

    spring-reference.pdf

    3. **自动装配**:自动装配是Spring的一种特性,它可以在不指定任何依赖的情况下自动将Bean的实例注入到其他Bean中。 七、自定义Bean行为 1. **生命周期接口**:Spring提供了多个生命周期接口,如InitializingBean...

    Spring源码学习二:BeanDefinition解析1

    在Spring框架中,BeanDefinition是核心组件之一,它定义了bean的基本信息和元数据,包括bean的类、作用域、依赖关系、初始化方法等。在Spring容器启动时,配置文件或注解中的bean定义会被解析成BeanDefinition对象,...

    手写简单的Spring框架

    7. **自动扫描与装配**:Spring可以自动发现和装配Bean。我们可以实现一个类扫描器,扫描指定包下的类,并根据注解(自定义或类似`@Component`)来注册Bean。 8. **事件处理**:Spring有事件发布和监听机制。我们...

    Spring 5.1.x(重) (1).docx

    - **作用域**:Bean可以有多种作用域,如单例、原型、请求、会话等。 - **事件传播**:Spring容器可以广播事件,使得bean之间可以进行通信。 - **AOP代理**:Spring提供两种类型的代理,即JDK动态代理和CGLIB代理,...

    spring-reference

    - **BeanDefinition**:BeanDefinition用于描述Bean的配置元数据,如类名、作用域等。 - **BeanClass**:BeanClass是指Bean对应的Java类。 - **Bean标识符**:Bean的id和name是唯一标识Bean的方式。 - **单例与...

    Spring入门

    此外,Spring还提供了复杂的装配方式,如构造函数装配、Bean的作用域管理、方法注入等。 通过以上概述,我们了解了Spring框架的基本概念及其为何能成为Java EE领域最受欢迎的框架之一。希望这些内容能够帮助读者更...

    spring-developing-java-applications-enterprise

    - **自动装配**:Spring可以根据一定的规则自动匹配bean之间的依赖关系。 - 自动装配模式:`no`、`byName`、`byType`、`constructor`。 - `no`:关闭自动装配。 - `byName`:根据bean的名称自动装配。 - `byType...

    spring 配置文件简单说明

    5. `scope`: 定义Bean的作用域。常见的有: - `singleton`: 默认值,表示只有一个共享实例。 - `prototype`: 表示每次请求都会创建新的实例。 - `request`: 在一次HTTP请求内,每个Bean只有一个实例。 - `...

Global site tag (gtag.js) - Google Analytics