一、容器中bean的作用域
Spring支持如下5种作用域:
比 较常用的是singleton和prototype两种,对于singleton作用域的Bean,每次请求该Bean都将获得相同实例。容器负责跟踪 Bean实例的状态,负责维护Bean实例的生命周期行为;如果是prototype作用域的bean,容器不会跟踪实例,也不会维护bean实例的状 态。
如果不指定bean的作用域,默认使用singleton作用域。
request和session作用域只在Web应用 中才有效,并且必须在Web应用中增加额外配置才会生效。为此我们需要采用Listener配置或采用Filter配置才能使用。如果Web应用直接使用 Spring MVC作为MVC框架,即用SpringDispatcherServlet或DispatcherPortlet来拦截所有用户请求,则无需这些额外的 配置,因为DispatcherServlet或DispatcherPortlet已经处理了所有和请求有关的状态处理。
二、Bean配置依赖的方式
根据注入方式的不同,Bean的依赖注入通常表现为两种:
①属性:通过<property...>对应值注入
②构造器参数:通过<constructor-arg...>对应构造注入
由于Java实例的属性值可以是基本类型值、字符串类型值,还可以是其他Java实例,也可以是容器中其他的Bean实例,甚至是Java集合、数组等,所以Spring允许通过如下元素为Bean实例的属性指定值:
value、ref、bean、list、set、map及props
例子:<property name="integerProperty" value="1"/>
<property name="axe" ref="steelAxe"/>//Spring容器中另一个bean id
<list><value>小学</value><value>中学</value><value>大学</value></list>
<map><entry key="数学“ value=”87“/><entry key="英语“ value=”87“/></map>
<map><entry key="原始社会“ value-ref=”stoneAxe“/><entry key="农业社会“ value-ref=”stoneAxe“/></map>
<props><prop key="血压">正常</prop><prop key="身高">正常</prop></props>
<set><value>普通字符串</value><bean class="XXX"/><ref local=”stoneAxe“/></set>
除 了显示指定依赖关系外,还可以设置自动装配注入合作者bean<autowire>(单个bean)<default- autowire>(所有bean),autowire可接受的值 有:no,byName,byType,constructor,autodetect
三、Spring的Bean和JavaBean
Spring 容器对Bean没有特殊要求,甚至不要求该Bean像标准JavaBean(必须为每个属性提供get和set方法),任何Java实例、Java组件都 被看成Spring中的Bean,虽然Spring对Bean没有特殊要求,但还是建议Bean应满足以下几个规则:
尽量为每个Bean实现类提供无参构造函数
接受构造注入的Bean提供相应的构造方法
接受设置注入的Bean提供相应的setter方法
相关推荐
这个“spring最基本jar”可能包含了Spring框架的基础组件,如Spring Core、Spring Beans、Spring AOP等,是学习和使用Spring框架的基础。理解并掌握这些知识点,能够帮助开发者有效地利用Spring框架构建高效、稳定的...
在Spring MVC中,处理请求的基本单位是Controller接口,它定义了一个名为handleRequest的方法,返回一个ModelAndView对象,包含了视图名称和模型数据。虽然Controller接口很基础,但在实际应用中,通常会使用如...
Spring源码深度解析第二版 Spring是一款广泛应用于Java企业级应用程序的开源框架,旨在简化Java应用程序的开发和部署。Spring框架的核心主要包括了IoC容器、AOP、MVC框架等模块。 第1章 Spring整体架构和环境搭建 ...
在"Spring第二章"中,我们将深入学习Spring框架的核心概念、主要功能以及如何在实际项目中使用它们。 首先,我们要理解什么是依赖注入。依赖注入是Spring框架的一个关键特性,它允许我们解耦组件间的依赖关系。通过...
总的来说,理解并掌握这些基本包的用法是学习和使用Spring的第一步。通过IoC和AOP,Spring能够帮助我们构建松耦合、易于维护的Java应用。在实际开发中,结合Spring Boot和其他相关技术,可以极大地提高开发效率和...
本篇文章将详细探讨Spring的基本配置,帮助你深入理解如何在项目中设置和使用Spring。 一、Spring配置概述 Spring的配置方式主要有两种:XML配置和Java配置。早期,XML配置是主流,而现在,随着Spring Boot的兴起...
本文将深入探讨Spring装配基本属性的原理,帮助你更好地理解如何在代码中使用和配置这些属性。 首先,Spring装配的基本方式有两种:XML装配和基于注解的装配。XML装配是早期版本Spring的主要装配方式,通过`<bean>`...
### Spring基本知识点教程+案例演示 #### Spring框架简介 Spring框架是为了解决企业级应用开发的复杂性而诞生的一款轻量级Java平台框架。它最初由Rod Johnson创建,后来发展成为Spring源代码项目,该项目由Pivotal...
Spring的基础jar包包含了运行Spring应用程序所需的核心组件,使得开发者能够快速搭建Spring环境并开始使用其基本功能。下面我们将深入探讨Spring框架的一些核心知识点。 1. **依赖注入(Dependency Injection, DI)...
展示了spring cloud的基本用法。包括:1)一个基本的spring boot应用。2)分布式配置管理服务端。3)分布式配置管理客户端(微服务应用)。4)服务注册服务端。5)服务注册发现客户端(微服务应用)。6)实现spring ...
### Spring框架概述 ...通过本教程的学习,您将能够掌握Spring框架的基本原理和使用方法,为进一步深入研究打下坚实的基础。无论是在构建简单的Web应用还是复杂的分布式系统,Spring框架都能够为您提供强大的支持。
Spring 框架是 JavaEE 开发中的一个核心组件,由 Rod Johnson 在其著作...通过这个“spring-framework基本包”,我们可以学习并掌握 Spring 框架的核心概念和使用方式,为开发高质量的 JavaEE 应用奠定坚实基础。
### 二、Spring 基本使用 1. **配置 Spring**:可以通过 XML 文件或注解方式进行配置。XML 配置中,`<bean>` 元素用于定义 Bean,`<property>` 用于注入依赖。注解配置则使用如 `@Configuration` 和 `@...
1. 创建项目和配置文件:在使用 Spring IOC 之前,需要创建一个项目并配置相关的依赖项。pom.xml 文件是 Maven 项目的核心配置文件,用于管理项目的依赖项。在 pom.xml 文件中,需要添加 Spring IOC 相关的依赖项,...
**二、Spring Ioc容器** Spring Ioc容器是整个Spring框架的基石,它负责创建、配置和管理对象。容器通过读取XML、Java注解或Java配置类等方式,获取对象的定义信息,然后根据这些信息实例化对象并进行依赖注入。 *...
Spring MVC 中的 RequestMapping 6个基本用法小结 Spring MVC 是一个基于 Java 的 Web 应用程序框架,提供了强大的 RequestMapping 机制来处理 HTTP 请求。在 Spring MVC 中,RequestMapping 是一个核心组件,负责...
这个项目很可能是用来演示 Spring MVC 的基本用法,包含了一个简单的 Controller、视图页面和配置文件。通过分析这些文件,你可以更好地理解 Spring MVC 的工作原理和配置方式。 总的来说,Spring MVC 提供了一种...
`RestTemplate`提供了多种方法来覆盖HTTP的基本操作,如GET、POST、PUT和DELETE等。使用`RestTemplate`,开发者可以方便地设置请求头、参数、主体内容,以及处理不同类型的响应。例如,以下代码展示了如何使用`...
Spring可以通过AOP代理来实现切面,也可以使用AspectJ的编译时或加载时织入,增强代码功能。 八、Spring Boot Spring Boot是近年来流行的快速启动Spring应用的方式,它默认配置了许多常见功能,减少了大量配置工作...
**Spring定时器TimerTask用法** 在Java世界中,`java.util.Timer` 和 `java.util.TimerTask` 是用于实现定时任务的基本工具,但它们在多线程环境中的表现并不理想,容易引发内存泄漏。Spring框架提供了更强大的定时...