码迷,mamicode.com
首页 > 编程语言 > 详细

Spring In Action ③

时间:2014-09-02 17:22:04      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   java   ar   div   cti   

第三章  最小化Spring xml配置

自动装配(autowiring)

自动检测(autodiscovery)

 

自动装配

byName、byType、constructor

autodetect(首先constructor,然后byType)

<bean id=.....   autowire="constructor"/>

<bean id=....   primary="true"/> <!-- 首选项bean-->
<bean id=....   autowire-candidate="false"/> <!-- 不作为候选bean进行装配-->

默认自动装配 (default-autowire默认为none,不进行自动装配)

<beans  xmlns=...................
     .......................
     default-autowire="byType">

...........
</beans>

使用注解装配

Spring默认禁用注解装配,需在context命名空间配置如下:

<context:annotation-config/>

①: 自带的@Autowired  属性 方法 构造器(required=false)

②: @Injects 没有required属性,注解依赖关系必须存着

③: @Resource

 

@Qualifier 与 @autowired配合使用,指定特定id的bean,可以理解为将autowired的默认byType更改为byName。

qualifier也可以修饰bean,进行归类管理。

@Qualifier("stringed")
public class Guitar implements Instrument {
....
}

@Qualifier("stringed")
public class Violin implements Instrument {
....
}

******************************************

当使用自动注入的时候
@Autowired
@Qualifier("stringed")
private Instrument instruments;

 

创建自定义的限定器(Qualifier)

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.beans.factory.annotation.Qualifier;

@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface StringedInstrument {

}

 

@Inject 对应@Named,类似@Autowired对应@Qualifier.

Spring In Action ③

标签:style   blog   color   io   使用   java   ar   div   cti   

原文地址:http://www.cnblogs.com/dorothychai/p/3951653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!