spring annotation

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-iocannt/index.html?ca=drs-tp4608

 

1.通过给类添加annotation,从而不用再在spring的配置文件中进行配制。

而为了spring能够识别这个类,需要让spring进行扫描,发现有注释的类,进行配置,因此要在spring的配制文件中加入语句

<context:component-scan base-package="com.test" />

spring会自动扫描base-package及其子文件夹下的所有类

 

2. @Repository 标注Dao 类,除了表示是bean外,同时可将抛出的数据异常封闭为spring提供的数据异常

@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service 通常作用在业务层,但是目前该功能与 @Component 相同。
@Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。

使用方法:在类上方标记,如

@Repository
public class UserDaoImpl implements UserDao{ …… }

 

3. spring扫描到这些注释的时候会自动生成BeanDefinition,自动注册到ConfigurationContext中。

如果标注中有name属性,会以name属性命名,否则会自动生成。   

 

4. bean的自动装配

在spring配置文件上加 <context:annotation-config/> 

方法一:@autowired

表示按类型自动匹配,在属性的setter,字段前。如果存在多个满足条件的bean,可以在autowired,class前加一个@qualifed的注解,那么它会寻找bean名字相同的bean.

方法二:@Resource

表示按名字匹配,如果没有,再按类型匹配  

posted @ 2012-05-14 18:51  卡布其诺11  阅读(193)  评论(0编辑  收藏  举报