WEB开发网
开发学院软件开发Java 详解 Spring 3.0 基于 Annotation 的依赖注入实现... 阅读

详解 Spring 3.0 基于 Annotation 的依赖注入实现

 2010-05-10 00:00:00 来源:WEB开发网   
核心提示: <bean> 标签提供了 dependency-check 属性用于进行依赖检查,该属性的取值包括以下几种:none -- 默认不执行依赖检查,详解 Spring 3.0 基于 Annotation 的依赖注入实现(5),可以在 <beans> 标签上使用 default

<bean> 标签提供了 dependency-check 属性用于进行依赖检查。该属性的取值包括以下几种:

none -- 默认不执行依赖检查。可以在 <beans> 标签上使用 default-dependency-check 属性改变默认值。

simple -- 对原始基本类型和集合类型进行检查。

objects -- 对复杂类型进行检查(除了 simple 所检查类型之外的其他类型)。

all -- 对所有类型进行检查。

旧版本使用 dependency-check 在配置文件中设置,缺点是粒度较粗。使用 Spring2.0 提供的 @Required 注解,提供了更细粒度的控制。@Required 注解只能标注在 Setter 方法之上。因为依赖注入的本质是检查 Setter 方法是否被调用了,而不是真的去检查属性是否赋值了以及赋了什么样的值。如果将该注解标注在非 setXxxx() 类型的方法则被忽略。

为了让 Spring 能够处理该注解,需要激活相应的 Bean 后处理器。要激活该后处理器,只需在 XML 中增加如下一行即可。

 <context:annotation-config/> 

当某个被标注了 @Required 的 Setter 方法没有被调用,则 Spring 在解析的时候会抛出异常,以提醒开发者对相应属性进行设置。

使用 @Resource、@Autowired 和 @Qualifier 指定 Bean 的自动装配策略

自动装配是指,Spring 在装配 Bean 的时候,根据指定的自动装配规则,将某个 Bean 所需要引用类型的 Bean 注入进来。<bean> 元素提供了一个指定自动装配类型的 autowire 属性,该属性有如下选项:

no -- 显式指定不使用自动装配。

byName -- 如果存在一个和当前属性名字一致的 Bean,则使用该 Bean 进行注入。如果名称匹配但是类型不匹配,则抛出异常。如果没有匹配的类型,则什么也不做。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:详解 Spring 基于

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接