`

Spring基本用法(二)

 
阅读更多

一、容器中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方法

  • 大小: 68.8 KB
分享到:
评论

相关推荐

    Spring源码深度解析第二版

    Spring源码深度解析第二版 Spring是一款广泛应用于Java企业级应用程序的开源框架,旨在简化Java应用程序的开发和部署。Spring框架的核心主要包括了IoC容器、AOP、MVC框架等模块。 第1章 Spring整体架构和环境搭建 ...

    展示spring cloud的基本用法

    展示了spring cloud的基本用法。包括:1)一个基本的spring boot应用。2)分布式配置管理服务端。3)分布式配置管理客户端(微服务应用)。4)服务注册服务端。5)服务注册发现客户端(微服务应用)。6)实现spring ...

    实验一 Springioc基本操作.docx

    1. 创建项目和配置文件:在使用 Spring IOC 之前,需要创建一个项目并配置相关的依赖项。pom.xml 文件是 Maven 项目的核心配置文件,用于管理项目的依赖项。在 pom.xml 文件中,需要添加 Spring IOC 相关的依赖项,...

    Spring mvc中 RequestMapping 6个基本用法小结

    Spring mvc中@RequestMapping 6个基本用法小结

    Spring的学习笔记

    第二课:Jdom的基本使用 4 第三课:模拟Spring功能 5 第四课:搭建sping的运行环境 8 一、 建立一个新的项目 8 二、 建立spring的配置文件 8 三、 引入spring的jar包 8 四、 测试代码: 8 五、 注意接口的使用: 8 ...

    SpringData的使用

    该文件包含了,SpringData 的一些基本使用方法和Repository 的一些子接口的使用,以及快速分页方法的实现

    Spring源码分析.pdf

    在 Spring 框架中,IOC 容器扮演着核心角色,本文将深入分析 Spring 源码,了解 IOC 容器的实现机制和基本原理。 一、IOC 容器 IOC容器是 Spring 框架的核心组件之一,它提供了一个统一的方式来管理应用程序中的...

    Spring AOP @Aspect 基本用法

    3.3、@AfterReturning,后置【try】通知,放在方法头上,使用returning来引用方法返回值。 3.4、@AfterThrowing,后置【catch】通知,放在方法头上,使用throwing来引用抛出的异常。 3.5、@Around,环绕通知,放在...

    spring-boot中文教程

    描述:Spring Boot中文文档是Spring Boot官方文档的中文翻译版,它包含了Spring Boot的基本介绍、快速入门、核心特性、高级特性等内容,可以帮助用户快速了解和掌握Spring Boot的使用方法和技巧。 Spring Boot是一款...

    Spring从入门到精通 源码

    本书由浅入深,循序渐进地介绍了Spring的体系结构和相关知识点,目的是帮助初学者快速掌握Spring,并能使用Spring进行应用程序的开发。本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本...

    Spring HttpInvoker介绍

    公司内部讲义,比较了SOA,RMI和Spring HttpInvoker。并介绍了Spring HttpInvoker的基本使用方法。

    spring 黑马教程

    3、Spring容器内部对象的创建:可以使用类构造器实例化、静态工厂方法实例化等方式来创建对象。 4、初始化bean时机:Spring默认在启动时将所有singleton bean提前进行实例化。 Spring的使用可以简化企业开发,...

    springcloud项目Demo

    Spring cloud 实战项目(Spring cloud zuul、spring cloud eureka、spring cloud ...集成mybatis、mq消息队列等、是Spring cloud学习的一个样例工程,通过这个工程, 基本掌握Spring cloud 各个组件的功能及使用方法)

    Spring选择题(含答案).doc

    Spring 框架选择题解析 Spring 框架是一种流行的 Java 应用程序框架,提供了许多强大的功能,...本文涵盖了 Spring 框架的基本概念,例如依赖注入、面向切面编程等,旨在帮助读者更好地理解 Spring 框架的原理和应用。

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-...我们学习了 Quartz 的基本概念,了解了如何在 Spring 配置文件中定义 Quartz 的 bean,并了解了 Cron 表达式的使用。最后,我们总结了 Quartz 的优点,了解了它的强大功能。

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring_Framework_ API_5.0.5 (CHM格式)

    Spring 接口中的默认方法 基于 Java8 反射增强的内部代码改进 在框架代码中使用函数式编程 - lambda表达式 和 stream流 4. 响应式编程支持 响应式编程是 SpringFramework5.0 最重要的特性之一。响应式编程...

    springCloud

    二:服务介绍: 1) 服务的注册与发现 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、...

    springMongodb参考文档中文版

    7.使用Spring Data Repositories 7.1。核心概念 7.2。查询方法 7.3。定义存储库接口 7.3.1。微调储存库定义 7.3.2。空处理存储库方法 7.3.3。将存储库与多个Spring Data模块一起使用 7.4。定义查询方法 7.4.1。查询...

Global site tag (gtag.js) - Google Analytics