Spring 3.0就这么简单读书笔记

一般情况下,spring容器中的大部分Bean都是单实例的,所以一般无须通过@Repository、@Service、@Component等注解的value属性为Bean指定名称,也无须使用@Qualifier按名称进行注入。

@Autowired的用法有以下几种:

对类变量进行标注

@Autowired

private LogDao logDao;

对类方法进行标注

 

对集合类(某个类的属性)进行标注

@Autowired

private List<Plugin> plugins;

 

@Autowired
//@Qualifier("testing")
private FooDao fooDao;

fooDao对应的beanId不一定是fooDao,还有可能是其他的。

 fooDao有两个实现类:StubFooDao和WjFooDao时下面请看

@Qualifier("okdahello")
private FooDao fooDao;

上面的okdahello可以对应

@Repository("okdahello")
//@Qualifier("testing")
public class WjFooDao implements FooDao

也可以对应

@Repository
//@Qualifier("testing")
@Qualifier("okdahello")
public class WjFooDao implements FooDao

 

@Qualifier("okdahello") or @Repository("okdahello") is all ok
@Repository("okdahello") can change beanId. 

posted @ 2014-10-02 15:58  唾手可得的树  阅读(255)  评论(0编辑  收藏  举报