- 浏览: 62528 次
- 性别:
- 来自: 应县
最新评论
-
fc19861011:
请问你解决了吗?poi修改word中生成的图表数据找了好久没发 ...
jacob 怎么改变 word图表的数据呢? -
longgol:
GridPanel中mouseover事件获取列index
...
GridPanel中mouseover事件获取行index
在定义文件(XML配置文件)中定义Bean时,可以直接指定一个字符串值给属性值,如果在Bean定义文件中已经有一个定义的Bean实例,则可以直接让某个属性参考至这个实例。
有以下几种比较常用的方式:
1.使用<ref>直接指定参考至其他的Bean实例
2.使用<bean>标签并指定"class"属性来指定依赖对象
3.隐式自动绑定,分别是byType,byName将某个Bean实例绑定至其他Bean对应的属性
4.在构造方法上也能进行自动绑定
5.也可以设定"autodetect",一切交给Spring判定,自动完成。
以上几种注入方式注意事项如下:
1. <ref>方式:
<ref bean="XXX"/>,XXX填写的字符需是你要依赖的bean文件中的id名字,有些书上也叫Bean别名。如<bean id="XXX" class="YYYY"/>
2. <bean>方式:
前提条件必须是,这个Bean的实例只被某个属性参考一次,之后在定义文件中不再被其它Bean的属性所参考,那么可以直接在属性定义时使用<bean>标签,并仅需指定其"class"属性即可,如:
...
<property name="zzz">
<bean class="Xxx.Yyy.Zzz">
</property>
...
Spring的IoC容器会自动生成Zzz实例,并透过setZzz()方法将Zzz实例设定给需要实现的Bean。
3.1 byType方式:
在需要实现的Bean中,在<bean id="..." class="..." autowire="byType"> ,无需再指定属性参考而编写一个property,Spring会根据需要实现的Bean的setZzz()方法所接受的类型,来判断在Bean定义文件中是否定义有类似的类型对象,并将之设定给需要实现的Bean的setZzz()。使用自动绑定时,如果"byType"无法完成绑定,则抛出 org.springframework.beans.factory.Unsatisfied-DependencyException的异常。
3.2 byName方式:
使用byName方式,类似的在<bean id="..." class="..." autowire="byName"> ,但是需要注意的是Spring要根据Bean定义时的"id"属性上指定的别名与Setter名称是否一致来进行自动绑定。如setDate()方法来完成依赖注入,必须修改一下需要注入的Bean的id值为"date"名称,即名字要相同。如果使用"byName"无法完成自动绑定,则对应的Setter仅维持未绑定状态。
4. constructor方法
在构造方法上也可以尝试进行自动绑定。本人不是很推荐使用,因为这样很容易产生混乱,一边使用Type 3 Dependency Injection一边使用Type 2 Dependency Injection,使代码易读性下降不利于代码维护。有兴趣的朋友可以翻阅相关资料尝试。
5.autodetect方法
类似第3方法,<bean id="..." class="..." autowire="autodetect"> ,这时候Spring会尝试使用如"autowire"被设定为"constructor"来处理依赖关系的建立,如果没有完成依赖关系建立,则再尝试使用如"autowire"被设定为"byType"的方式来建立依赖关系。这是比较傻瓜的一种自动检测方式,虽然方便但是不推荐使用,因为也是容易降低代码的可读性。
相关
Spring自带一种依赖关系检测机制,由于很难从定义文件中看清楚是否每个属性都完成了设定,为了确定某些依赖关系确实建立,可以加入依赖检测,在<bean>标签使用时添加dependency-check="xxx",有四种检测方式:"simple"、"objects"、"all"、"none"。
"simple":只检查简单的属性是否完成依赖关系,如原生数据类型或字符串对象
"objects":检查对象类型的属性是否完成依赖关系
"all":检查全部的属性是否完成依赖关系
"none":默认值,不检查依赖关系
使用自动绑定时加入以来检测,如有未完成的依赖关系,则执行程序抛出 org.springframework.beans.factory.UnsatisfiedDependencyException异常。
有以下几种比较常用的方式:
1.使用<ref>直接指定参考至其他的Bean实例
2.使用<bean>标签并指定"class"属性来指定依赖对象
3.隐式自动绑定,分别是byType,byName将某个Bean实例绑定至其他Bean对应的属性
4.在构造方法上也能进行自动绑定
5.也可以设定"autodetect",一切交给Spring判定,自动完成。
以上几种注入方式注意事项如下:
1. <ref>方式:
<ref bean="XXX"/>,XXX填写的字符需是你要依赖的bean文件中的id名字,有些书上也叫Bean别名。如<bean id="XXX" class="YYYY"/>
2. <bean>方式:
前提条件必须是,这个Bean的实例只被某个属性参考一次,之后在定义文件中不再被其它Bean的属性所参考,那么可以直接在属性定义时使用<bean>标签,并仅需指定其"class"属性即可,如:
...
<property name="zzz">
<bean class="Xxx.Yyy.Zzz">
</property>
...
Spring的IoC容器会自动生成Zzz实例,并透过setZzz()方法将Zzz实例设定给需要实现的Bean。
3.1 byType方式:
在需要实现的Bean中,在<bean id="..." class="..." autowire="byType"> ,无需再指定属性参考而编写一个property,Spring会根据需要实现的Bean的setZzz()方法所接受的类型,来判断在Bean定义文件中是否定义有类似的类型对象,并将之设定给需要实现的Bean的setZzz()。使用自动绑定时,如果"byType"无法完成绑定,则抛出 org.springframework.beans.factory.Unsatisfied-DependencyException的异常。
3.2 byName方式:
使用byName方式,类似的在<bean id="..." class="..." autowire="byName"> ,但是需要注意的是Spring要根据Bean定义时的"id"属性上指定的别名与Setter名称是否一致来进行自动绑定。如setDate()方法来完成依赖注入,必须修改一下需要注入的Bean的id值为"date"名称,即名字要相同。如果使用"byName"无法完成自动绑定,则对应的Setter仅维持未绑定状态。
4. constructor方法
在构造方法上也可以尝试进行自动绑定。本人不是很推荐使用,因为这样很容易产生混乱,一边使用Type 3 Dependency Injection一边使用Type 2 Dependency Injection,使代码易读性下降不利于代码维护。有兴趣的朋友可以翻阅相关资料尝试。
5.autodetect方法
类似第3方法,<bean id="..." class="..." autowire="autodetect"> ,这时候Spring会尝试使用如"autowire"被设定为"constructor"来处理依赖关系的建立,如果没有完成依赖关系建立,则再尝试使用如"autowire"被设定为"byType"的方式来建立依赖关系。这是比较傻瓜的一种自动检测方式,虽然方便但是不推荐使用,因为也是容易降低代码的可读性。
相关
Spring自带一种依赖关系检测机制,由于很难从定义文件中看清楚是否每个属性都完成了设定,为了确定某些依赖关系确实建立,可以加入依赖检测,在<bean>标签使用时添加dependency-check="xxx",有四种检测方式:"simple"、"objects"、"all"、"none"。
"simple":只检查简单的属性是否完成依赖关系,如原生数据类型或字符串对象
"objects":检查对象类型的属性是否完成依赖关系
"all":检查全部的属性是否完成依赖关系
"none":默认值,不检查依赖关系
使用自动绑定时加入以来检测,如有未完成的依赖关系,则执行程序抛出 org.springframework.beans.factory.UnsatisfiedDependencyException异常。
发表评论
-
Tomcat集群与负载均衡
2011-01-26 16:00 612在单一的服务器上执行W ... -
xalan-2.7.0.jar下载地址
2011-01-26 15:59 3203xalan-2.7.0.jar下载地址:http://svn. ... -
provider org.apache.xalan.processor.TransformerFactoryImpl not found
2011-01-26 15:58 984完整的Exception: Exception startin ... -
Apache与Tomcat整合的简单方法
2011-01-26 15:57 6961、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK ... -
(转)Tomcat源码学习(一)
2011-01-26 15:57 619Tomcat源码学习(一) http://carllgc.bl ... -
Tomat源码学习(二) [图片]
2011-01-26 15:55 746Tomat源码学习(二) Tomat6的整体架构 在上篇文 ... -
Tomat6架构探讨(续)
2011-01-26 15:54 737Tomat源码学习(二) 下面,我们重点针对Catalin ... -
JNDI
2011-01-26 15:49 739Java术语 英文全称是:Java ... -
JSP内建对象- - 转
2011-01-26 15:48 589① out - javax.servlet.jsp.jspWr ... -
全面理解String(JAVA复习)- -
2011-01-26 15:48 6111. 首先String不属 ... -
初学者如何开发出高质量的J2EE系统 (转载)
2011-01-26 15:47 725J2EE学习者越来越多,J2E ... -
关于JSP中的taglib uri
2011-01-26 15:47 1025自定义标签在jsp中应用是需要声明标签库,有下面两种方式: 1 ... -
context-param和init-param区别
2011-01-26 15:46 478web.xml里面可以定义两种参数: (1)applicati ... -
javax.servlet.Filter运用
2011-01-26 15:46 720Servlets Filter 是Servlet 2.3 规范 ... -
javax.servlet.FilterChain
2011-01-26 15:45 996javax.servlet Interface Filter ... -
引用 五个有用的过滤器 Filter
2011-01-26 15:45 644引用 xyz 的 五个有用的过滤器 Filter 来源:htt ... -
spring:Inversion of Control具体实现【资料搜集】
2011-01-26 15:42 632IoC(Inversion of Control)控制反转的具 ... -
学习Spring前必须了解的几点【资料搜集】
2011-01-26 15:42 891轻量级(Lightweight) 轻量级的形容是相对于 ... -
struts2:主题: Interceptor在Struts2中的应用... [图片]
2011-01-26 15:41 712Interceptor(拦截器)将Action共用的行为独立出 ... -
struts2配置文件介绍
2011-01-26 15:40 666一、Struts2配置文件 Struts2相关的配置文件有w ...
相关推荐
《Spring属性参考与自动绑定详解》 在Java的Spring框架中,属性参考和自动绑定是两个重要的概念,它们为开发者提供了灵活且强大的依赖注入机制。本文将深入解析这两个概念,并通过示例代码来阐述其工作原理。 ### ...
- 在这个例子中,`logAspect`是一个切面,它包含了三种不同类型的Advice(Before、After、Around),并通过`pointcut`属性定义了这些通知适用于哪些方法调用。 #### 三、Advisor的概念解析 1. **定义**: - `...
### Spring 表达式语言 (SpEL) 中文参考手册概览 #### 一、Spring SpEL 概念与用途 Spring SpEL(Spring Expression Language)是一种强大的表达式语言,用于处理运行时查询和操作对象图。SpEL 的设计目标是提供一...
《Spring2中文开发参考手册》是一本详尽的指南,专为使用Spring框架进行软件开发的程序员设计。这本书深入探讨了Spring框架的核心概念、新特性,以及如何利用XML配置和Spring MVC来构建高效的应用程序。以下是对这些...
Spring Framework 开发手册 chm,一份对Spring特性的参考指南,内容涵盖Spring概述、使用场景、Spring2.0新特性、面向切面编程、中间层、WEB层、校验,数据绑定,BeanWrapper,与属性编辑器、使用Spring进行面向...
1.了解Spring 2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 ...Spring Data MongoDB 2.1中的新...属性表达式 7.4.4。特殊参数处理 7.4.5。限制查询结果 7.4.6。流式查询结果
《Spring 2.0 中文开发参考手册》是针对Java开发者的重要参考资料,它全面地介绍了Spring框架2.0版本的核心特性和使用方法。Spring作为一款轻量级的Java企业级应用框架,以其强大的依赖注入(Dependency Injection,...
《Spring开发参考手册》是Spring框架开发者不可或缺的资源,它提供了详尽的Spring应用开发指南。这份手册以CHM(Microsoft Compiled HTML Help)格式呈现,易于查阅和使用。以下是对手册中关键知识点的概述。 1. **...
这本《Spring2.5-中文参考手册》涵盖了以上所有内容的详细解释,包括每个特性的使用方法、示例代码以及问题解决方案。对于希望深入了解Spring框架,尤其是2.5版本的开发者来说,是一份宝贵的资源。尽管版本较旧,但...
Spring Framework是Java领域中一个非常重要的开源框架,自2003年问世以来,一直是Java开发者使用最为广泛的...通过阅读Spring Framework的参考文档,开发者可以了解到框架的最新动态,为开发工作提供坚实的技术支持。
Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合...总之,Spring 2.5.2中文参考手册是学习和使用Spring框架的重要资源,无论你是初学者还是资深开发者,都应该充分利用这份文档,提升自己的技能和效率。
### Spring Boot中文参考指南知识点概览 #### 一、Spring Boot 概述 - **Spring Boot** 是一种简化新Spring应用的初始搭建以及后续开发的框架。它旨在通过提供默认配置来简化设置过程,使开发者能够专注于应用的...
### Spring 开发参考手册知识点详解 #### 一、Spring 概览 **Spring** 是一个开源框架,最初是由 Rod Johnson 创建的,旨在简化企业级 Java 应用程序的开发过程。Spring 提供了一种轻量级的方式来管理和配置 Java ...
4. **Bean的定义与管理**:在Spring中,业务对象被称为Bean,它们可以在配置文件中定义,包括其类、属性、初始化方法、依赖关系等。Spring容器负责实例化、配置和管理这些Bean。 5. **数据访问集成**:Spring提供了...
10. **配置与元数据**:Spring.NET使用XML或基于属性的配置文件来定义对象及其依赖关系,也可以利用.NET的特性元数据来声明依赖。这使得配置灵活且易于理解。 通过深入学习“Spring.NET框架参考文档”,你可以全面...
### Spring Boot参考指南知识点概述 #### 一、Spring Boot 文档概述 - **关于本文档**:本指南旨在提供Spring Boot全面的使用手册,适用于初学者到进阶开发者。 - **获取帮助**:介绍了如何获得Spring Boot相关的...
8. **配置和元数据**:Spring.NET使用XML文件进行配置,但也可以使用.NET属性和C#代码进行配置。这种灵活性使得开发者可以选择最适合项目需求的配置方式。 9. **企业服务支持**:Spring.NET集成了对JMS、JMX、JPA等...
Spring Boot 参考指南 Spring Boot 是一个基于 Spring 框架的框架,旨在简化 Spring 应用程序的开发过程。Spring Boot 提供了一些默认配置和 starters,以便快速构建生产级别的应用程序。 Spring Boot 的特点 1....