`

Spring框架中属性值的自动绑定

阅读更多

在创建Bean时候,可以直接赋值。

public class HelloBean { 
    private String helloWord = "Hello!World!"; 
    private Date date; 
    
    public void setHelloWord(String helloWord) { 
        this.helloWord = helloWord; 
    } 
    public String getHelloWord() { 
        return helloWord + ":" + date.toString(); 
    } 
    public void setDate(Date date) { 
        this.date = date; 
    }    
    public Date getDate() { 
        return date; 
    } 
}

 再Spring 的application.xml中定义好bean

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans> 
    <bean id="dateBean" class="java.util.Date"/> 
    
    <bean id="helloBean" class="onlyfun.caterpillar.HelloBean"> 
        <property name="helloWord"> 
            <value>Hello!Justin!</value> 
        </property> 
        <property name="date"> 
            <ref bean="dateBean"/> 
        </property> 
    </bean> 
</beans>

 直接指定值或是使用<ref>直接指定参数为其它的Bean。Spring支持"隐士自动绑定",可以通过,类型(byType)或名称(byName)来进行属性的自动绑定。

参数byType的含义:首先通过你创建好的Bean,中去找Date类型,如果存在,autowrie="byType"然后去找BeanFactory中是否存在这个类型。如果存在则,它会根据Bean中的Date类型自动的注入到该Bean中。
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans> 
    <bean id="dateBean" class="java.util.Date"/> 
    
    <bean id="helloBean" class="com.baidu.HelloBean" autowire="byType"> 
        <property name="helloWord"> 
            <value>Hello!Justin!</value> 
        </property> 
        
    </bean> 
</beans>
也可以根据byTyName来进行属性绑定。
如果是byName而Date屬性要完成依賴注入的話,則必須修改一下第一個Bean的id值為date。在<bean>上加入dependency-check属性,用来检查自动注入的依赖关系是否完整。该属性有四个参数simple、objects、all、none 。第一个只检查简单的属性。第二个只检查对象的属性,第三个检查全部的属性。默认是none所有的都不去检查。如果有依赖关系不明确或者说不完整的,就会抛出UnsatisfiedDependencyExcpetion 异常。

 

分享到:
评论

相关推荐

    spring 属性参考与自动绑定

    在Java的Spring框架中,属性参考和自动绑定是两个重要的概念,它们为开发者提供了灵活且强大的依赖注入机制。本文将深入解析这两个概念,并通过示例代码来阐述其工作原理。 ### Spring属性参考 在Spring中,属性...

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

    SpEL可以用来在配置中动态评估表达式,如设置bean的属性值或决定bean的实例化条件。 **面向切面编程(AOP)**是Spring框架的另一大特色。AOP允许开发者定义“切面”,即关注点的分离,如日志记录、事务管理、性能...

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

    在Spring框架中,数据绑定是一项核心功能,它使得开发者能够轻松地将用户界面的数据与模型对象进行关联。这个“spring 数据绑定心得”课程是专为新手设计的,旨在帮助初学者快速掌握这一关键技术。让我们深入探讨...

    spring MVC数据绑定大全

    在Spring MVC中,数据绑定是一项核心功能,它允许开发者将用户输入的数据与控制器中的对象属性进行关联,简化了数据处理的复杂性。本文将详细介绍Spring MVC中的数据绑定,并提供实例帮助初学者理解。 1. **模型...

    spring 的属性管理

    标题中的“Spring的属性管理”指的是Spring框架中用于管理和注入应用程序配置属性的机制。Spring作为一个广泛应用的Java企业级开发框架,提供了多种方式来处理和管理应用程序的属性,这些属性通常包含数据库连接信息...

    spring框架搭建必要的jar包

    Spring框架是中国Java开发领域中最广泛使用的轻量级框架之一,它的核心在于提供了一个容器来管理对象的生命周期和依赖关系。在搭建Spring框架时,需要引入一系列的jar包以确保其正常运行。以下将详细讲解标题和描述...

    Spring Boot中的属性绑定的实现

    Spring Boot中的属性绑定实现是指在Spring Boot框架中,如何将属性文件中的值绑定到配置类中的字段的过程。在本文中,我们将详细介绍Spring Boot中的属性绑定实现,包括@ConfigurationProperties注解的使用、...

    25 Spring Core 数据绑定之BeanWrapper实现示例及背后原理探究慕课专栏1

    在Spring框架中,数据绑定是一项核心功能,它允许我们将用户输入或者其他数据源的数据映射到Java对象的属性上。在本文中,我们将深入探讨Spring Core中的数据绑定,特别是通过BeanWrapper实现的方式及其背后的原理。...

    Spring框架中jdbcTemplate 的使用.doc

    在Spring框架中,JdbcTemplate是用于简化数据库操作的重要组件,它提供了一种模板化的方式处理SQL,使得开发者能够更加安全、高效地与数据库交互。以下是对JdbcTemplate使用的一些详细说明: 1. **创建表和执行SQL...

    spring简单属性

    标题“spring简单属性”指的是Spring框架中处理应用配置和属性管理的部分。在Spring框架中,属性管理是一个关键功能,它允许我们外部化配置,使应用更具有灵活性和可维护性。这篇博客文章(链接未提供)可能探讨了...

    Spring学习笔记(11)----自定义属性编辑器

    在Spring框架中,属性编辑器(PropertyEditor)扮演着至关重要的角色。它们是JavaBeans规范的一部分,用于在Java对象和字符串之间进行数据转换。在Spring中,属性编辑器被广泛应用于IoC容器,用于处理配置文件中的...

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

    在Spring MVC框架中,参数绑定和验证是处理HTTP请求的核心环节。本章主要探讨的是如何在Spring MVC中实现对请求参数的有效性和正确性进行验证,确保应用的数据安全和业务流程的顺畅。以下将详细讲解各个知识点: 1....

    spring_MVC中文教程pdf

    在本段提供的文档内容中,主要涉及到Spring框架和MVC模式的相关知识点,这是一本关于Spring框架开发的指南书籍,其中包含了Spring框架的设计思想、开发中的实际使用、以及作者在项目实践中的一些经验总结。...

    JAVA Spring使用外部属性文件

    - 使用`@Value`注解:可以直接在字段或方法参数上使用`@Value`注解,Spring会自动注入对应的属性值。例如,`@Value("${property.name}")`。 - 使用`@ConfigurationProperties`:针对复杂配置,可以创建一个Java类...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    在开发Java应用,尤其是大型项目时,Spring框架的使用非常广泛。它提供了强大的依赖注入(DI)机制,使得我们可以方便地管理和使用Bean。然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的...

    26 Spring Core 数据绑定之DataBinder实现示例及背后原理探究慕课专栏(1)1

    在Spring框架中,数据绑定是一项核心功能,它使得开发者能够方便地将用户输入的数据与Java对象的属性对应起来。本文将深入探讨Spring Core中的数据绑定,特别是DataBinder的实现示例及其背后的原理。 首先,让我们...

    spring 中文 文档

    SpEL可以用于属性绑定、方法参数值的传递以及AOP切点表达式等。 3. **轻量级HTTP客户端**:Spring 2.5引入了一个轻量级的HTTP客户端,即RestTemplate,它简化了RESTful服务的调用。 4. **AOP增强**:增加了更多切点...

Global site tag (gtag.js) - Google Analytics