`

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框架案例学习文档笔记知识点总结 #### 第一课:面向抽象编程 - **核心概念**:面向抽象编程强调的是程序设计中通过抽象接口来进行设计和实现的方式,它避免了直接依赖具体实现类,增强了系统的灵活性和可...

    在非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