`

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 cloud的基本用法

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

    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 AOP @Aspect 基本用法

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

    spring.net中文手册在线版

    使用方法的返回值进行注入 4.3.6.IFactoryObject接口的其它实现 4.3.6.1.Log4Net 4.3.7.使用depends-on 4.3.8.自动装配协作对象 4.3.9.检查依赖项 4.4.类型转换 4.4.1.枚举类型的转换 4.4.2.内置的类型转换器 4.4.3....

    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 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-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的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、...

    springcloud项目Demo

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

    spring.doc

    1 Spring基本特征 6 2 Spring的组成 6 2.1 Spring的jar包 6 2.2 Spring配置文件 7 2.3 Spring API 8 3 Spring基本功能详解 8 3.1 SpringIOC 8 3.2别名Alias 11 别名拓展: 11 3.3 Spring容器内部对象的创建 12 ...

    spring data jpa 教程

    第二章:JpaRepository基本功能 包括:代码示例JpaRepository提供的CRUD功能,还有翻页、排序等功能 第三章:JpaRepository的查询 包括:解析方法名称以自动生成查询、 NamedQueries、 @Query指定查询、本地查询...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring 各种例子:Spring Data Elasticsearch,JDBC,JPA,LDAP,MongoDB

    - basic:展示了Spring Data JDBC的基本用法。 - immutables:展示了使用Immutables的Spring Data JDBC用法。 4. Spring Data JPA: - eclipselink:展示了如何在Spring Boot和Eclipselink中使用Spring Data JPA...

    Spring MVC 入门实例

    首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...

    spring-framework教程

    描述:Spring Framework中文文档.pdf是Spring Framework官方文档的中文翻译版,它包含了Spring Framework的基本介绍、核心特性、应用场景等内容,可以帮助用户深入了解和掌握Spring Framework的使用方法和技巧。...

Global site tag (gtag.js) - Google Analytics