`
samwang
  • 浏览: 44518 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Spring自动绑定技术

阅读更多

Autowiring collabraotors自动绑定
    1、 byType   根据类型自动绑定,如果同种类型的实例在容器中不是唯一的,将会产生异常
           byName  根据属性名查找相同的实例名绑定,如属性名master,Spring 将会找名字为master的实例
           constrctcor  类似于byType,在容器中找和类型一致的唯一的bean实例,如果没有找到会产生异常
           autodetect   根据反射到类的情况,如果发现有默认的构造器就会使用byType,否则使用constrctor
          不管是哪种类型的绑定,spring都是先在本容器中查找,如果没有匹配的再到父容器中查找。
     2、自动绑定带来的好处
              1、简化了配置文件,无需再显式的写出依赖关系
              2、自动绑定使你的配置自动更新,如:你在一个类中新加了个依赖,spring会自动帮你完成绑定,你无需更改配置文件。
           自动绑定带来的坏处
              1、自动绑定使配置容易产生歧义相对显示的写出这些依赖关系,不能过明显的看出类之间的依赖关系;
              2、自动绑定的信息不会被自动文档工具生成
              3、当你使用byType来绑定,如果容器中同种类型存在多个对象将会产生异常,spring提供了3个机制来解决这样的问题
                      1、取消自动绑定,用显式的方式指明属性的依赖关系
                      2、通过在bean定义时指定将不作为自动绑定对象依赖,将autowire-candiate 属性值设为false
                      3、如果使用的jdk版本在5.0以上可以使用标注来解决
Excluding a bean from being available for autowiring排除某个bean被自动绑定
      1、定义bean时设置autowire-candiate的属性为false
      2、在最高层<beans>里定义default-autowire-candiates属性为一些表达式,如限制一些bean是以Repository结尾的才支持自动绑定可以定义成“*Repository”。如果支持多

个格式,可以以逗号隔开这个表达式。
      3、bean中autowire-candiate的定义后优先级高于beans里定义的default-autowire-candiates,对于这样的bean,default-autowire-candiates不再会起效。
      注:如果在容器有父容器情况时,相同类型的bean实例同样也会被检测到,因此父容器的bean实例同样也需要考虑!

分享到:
评论
1 楼 kantery 2009-03-09  
看看:依赖 - Spring Framework reference 2.0.5 参考手册中文版
那里讲的很清楚。

相关推荐

    spring 数据绑定心得,适合新手

    这个“spring 数据绑定心得”课程是专为新手设计的,旨在帮助初学者快速掌握这一关键技术。让我们深入探讨一下其中涉及的知识点。 首先,简单数据类型的绑定是指将用户界面中的输入值直接映射到Java的基本数据类型...

    spring技术

    在处理用户输入时,Spring MVC支持数据绑定,能够自动将表单数据绑定到对应的JavaBean属性上。然而,对于特殊的数据类型,如日期,Spring MVC可能无法自动处理非标准格式的日期字符串。在这种情况下,我们需要自定义...

    Spring MVC数据绑定大全.rar

    "Spring MVC数据绑定大全.rar"这个压缩包很可能包含了全面讲解Spring MVC数据绑定技术的资料,如"Spring MVC数据绑定大全.pdf"。下面将详细阐述Spring MVC数据绑定的关键知识点。 1. **注解驱动的数据绑定**:...

    Spring Boot核心技术-笔记-pdf版.pdf

    同时,Spring Boot还提供了强大的配置绑定功能,可以将配置文件中的属性直接注入到Java对象中。 6. **Spring Boot CLI(命令行工具)** Spring Boot提供了命令行接口(CLI),使得开发者可以通过命令行快速创建、...

    SPRING 技术内幕 PDF(高清版)

    书中将阐述Spring Boot的自动配置、起步依赖和命令行接口等特性。 5. **Spring Data**:Spring Data提供了对各种数据存储的统一访问层,包括JPA、MongoDB等。书中会讲解如何使用Spring Data来简化数据访问操作。 6...

    第12章Spring MVC参数绑定的验证

    例如,一个GET请求中的查询参数`id=123`会被自动绑定到控制器方法的`int id`参数上。 2. **默认数据类型绑定**: 当请求参数与控制器方法参数类型不完全匹配时,Spring MVC会尝试进行默认转换。例如,字符串"true...

    Spring Boot 2.0深度实践之核心技术篇

    《Spring Boot 2.0深度实践...教程中可能涵盖了如何创建项目、配置自动配置、编写RESTful API、集成数据库、监控应用状态、进行测试等多个方面,通过源码分析和实例演示,确保学习者能全面掌握Spring Boot的核心技术。

    SPRING技术内幕+深入解析SPRING架构与设计 55M(下载地址)

    ### Spring技术内幕与深入解析Spring架构与设计 #### 书籍概述 本书《Spring技术内幕+深入解析Spring架构与设计》是一本专为Spring框架开发者所撰写的深度技术指南。作者凭借超过十年的Java开发经验,从Spring 3.0...

    spring技术手册.zip

    Spring 3 Reference Simplified Chinese_20110923.pdf这份文档详细解读了这一版本的特性,包括RESTful Web服务的支持、数据绑定、类型安全的转换服务、表达式语言(SpEL)以及对JSR-303/JSR-349 Bean验证的支持。...

    spring技术手册

    8. **Spring Boot**:探讨Spring Boot如何简化Spring应用的启动和配置,以及其内置的各种特性,如自动配置、健康检查和Actuator等。 9. **Spring Security**:介绍Spring Security框架,用于实现身份验证和授权,...

    SPRING技术内幕:深入解析SPRING架构与设计原理

    6. **Spring Boot**:Spring的现代启动器,简化了Spring应用的配置和启动,书中可能涉及自动配置、Actuator监控、健康检查等内容。 7. **Spring Cloud**:对于分布式系统开发,Spring Cloud提供了一整套解决方案,...

    Spring框架文档 - 核心技术部分 中文版 - 第二部分.pdf

    在本篇文档的第二部分,我们将深入探讨Spring的核心技术,包括控制反转(IoC)容器、事件处理、资源管理、国际化(i18n)、验证、数据绑定、类型转换、Spring表达式语言(SpEL)以及面向切面编程(AOP)。...

    Spring3.X编程技术与应用

    Spring提供了Spring MVC作为构建Web应用的框架,支持RESTful架构风格,通过注解来简化请求映射、处理、参数绑定等。 6.事务管理: Spring框架提供了声明式事务管理的功能,通过Spring的事务抽象,可以实现声明式...

    spring揭秘 完整带标签

    《Spring揭秘》这本书将通过实例和详细的解释,引导读者一步步掌握这些核心概念和技术,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过阅读本书,你可以深入理解Spring框架的工作原理,并能熟练地将其...

    详尽的Spring2.0学习提纲

    4. 数据绑定和验证:模型数据的自动绑定,以及使用JSR-303进行数据验证。 五、Spring JDBC与事务管理 1. Spring JDBC:理解JdbcTemplate和NamedParameterJdbcTemplate的使用,简化数据库操作。 2. 事务管理:讲解...

    Spring2.0技术手册

    依赖注入是Spring框架的核心特性之一,它允许对象在运行时自动获得其所需的依赖项,而不是在代码中硬编码这些依赖。这种方式提高了代码的可测试性和可维护性,因为依赖关系变得更加清晰,也更容易进行单元测试。 ##...

    spring4.0框架demo

    3. 视图解析:Spring MVC提供多种视图技术,如JSP、Thymeleaf、FreeMarker等,通过ViewResolver组件进行视图解析。 4. 数据绑定与验证:模型数据可以直接绑定到控制器方法的参数上,同时支持JSR-303/JSR-349验证,...

    Spring中文API帮助文档

    6. **Spring Boot**:Spring Boot简化了Spring应用的初始搭建和运行过程,通过“起步依赖”(Starter POMs)自动配置,可以快速创建独立运行的、生产级别的应用。 7. **Spring Data**:这个模块旨在简化数据访问,...

    spring开发技术手册

    - **数据绑定和验证**:Spring MVC提供了强大的数据绑定和验证机制,可以帮助开发人员更轻松地处理用户输入。 综上所述,“Spring开发技术手册”不仅涵盖了Spring框架的基础知识,还深入介绍了其实现原理及应用场景...

Global site tag (gtag.js) - Google Analytics