五、Spring中注解的使用
1. Bean的作用域也可利用注解的方式进行限定:
如:@Scope(“prototype”),将其写定义类的前面
其功能类似于标签中的<bean id=”” class=”” scope=” prototype”/>
2. 通过注解还可为bean提供初始化方法以及销毁方法:
在方法前加上:@PostConstruct,则在实例化类时将执行该方法,类似于标签中的<bean init-method=”…”>配置。
在方法前加上@PreDestroy,则在类实例销毁之前执行该方法,类似于<bean destroy-method=”…”/>标签配置。
3. 依赖注入(注解方式注入属性)
在每个成员属性前加上注解:
@Resource @Autowired……
还需要在配置文件中加上下面一句配置:
<context:annotation-config/>
如此就不需要在配置文件中进行属性注入了,同时也可不用为成员属性加set方法。不过也可将注解配给set方法以达到同样的效果。
4. 用注解来管理事务
在类或方法前加上注解:@Transactional
如此可以让spring对事务进行管理,其管理规则为:如果抛运行期异常(RuntimeException及其子类),则会回滚;如果抛捕获异常(Exception及其子类),则不进行回滚。不过也可通过改变注解配置来改变其回滚规则:
@Transactional(roolbackFor=Exception.class)可以让捕获异常也回滚;
@Transactional(noRoolbackFor=RuntimeException.class)可以让运行期异常不回滚。
@Transactional(propagation=Propagation.NOT_SUPPORTED)可以让方法不再支持事务。