Spring Annotation 详解
来源:互联网 发布:酷派大神f2网络切换 编辑:程序博客网 时间:2024/06/05 07:16
(1) 、<context:component-scan base-package="*.*" />
该配置隐式注册了多个对注解进行解析的处理器,如:
AutowiredAnnotationBeanPostProcessor
CommonAnnotationBeanPostProcessor
PersistenceAnnotationBeanPostProcessor
RequiredAnnotationBeanPostProcessor
其实,注解本身做不了任何事情,和XML一样,只起到配置的作用,主要在于背后强大的处理器
其中就包括了<context:annotation-config/>配置项里面的注解所使用的处理器
所以配置了<context:component-scan base-package="">之后,便无需再配置<context:annotation-config>
(2)、@Component、@Repository、@Service、@Controller、@Autowired、@Resource
而Spring2.5就为我们引入了组件自动扫描机制
它可以在classpath下寻找标注了@Service、@Repository、@Controller、@Component注解的类
并把这些类纳入Spring容器中管理,它的作用和在XML中使用bean节点配置组件是一样的
使用自动扫描机制,则需配置<context:component-scan base-package="com.jadyer"/>启动自动扫描
其中base-package指定需要扫描的包,它会扫描指定包中的类和子包里面类
@Service用于标注业务层组件
@Repository用于标注数据访问组件,即DAO组件
@Controller用于标注控制层组件,如Struts中的Action
@Component泛指组件,当组件不要好归类时,可以使用这个注解进行标注
1、可以使用诸如@Service("personDao")修改bean名称,而它默认的是将首字母小写的类名作为<bean>名称
2、若要更改<bean>作用域的话,可以使用@Scope("prototype")注解来修改<bean>作用域
一般使用@Resource注解,而不要使用@Autowired注解
因为@Autowired注解是Spring提供的,而@Resource注解是J2EE提供的
在JDK6中就已经包含@Resource注解了,所以它没有跟Spring紧密耦合
(3)、<tx:annotation-driven />
@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。
@Service
@Transactional(rollbackFor=Exception.class) //对当前类的所有方法起作用
@SuppressWarnings("serial")
public class ButtonBo extends GlobalBo {
....
@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true) //具体方法上
public Button findButton(String buttonid) throws BaseException {
return hibernateEntityDao.get(Button.class, buttonid);
}
}
- Spring Annotation 详解
- spring Annotation详解
- Spring Annotation 详解 .
- Spring Annotation(注解) 详解
- Spring Annotation 详解
- Spring Annotation(注解) 详解
- spring annotation详解
- Spring Annotation 详解
- Spring Annotation 详解
- Spring Annotation 详解
- Spring @Schedule Annotation详解
- Spring Annotation详解 --- IOC篇
- Spring <context:annotation-config /> 详解
- Spring <context:annotation-config/>详解
- Spring @transactional annotation 事务使用详解
- spring :annotation-driven配置事务管理器详解
- Spring @transactional annotation 事务使用详解
- Spring @transactional annotation 事务使用详解
- Whitening&PCA
- 黑马程序员--常用的正则表达式
- Linux设备驱动程序学习(2)-调试技术
- Linux查看进程的内存占用情况
- 多线程同步说明
- Spring Annotation 详解
- sc命令行添加windows服务
- 一个网友分享的成长经历
- 模块加载时 insmod “Invalid module format ”问题解决
- 本文写给广大正在做软件开发的、曾经做过软件开发的以及即将做软件开发的女同胞们。同时也希望男同胞们能够给女同胞多一些理解和包容,多一些关心和帮助,让女同胞能在软件开发的路上走的更远一点,走的更好一
- 静态 static 关键字用法
- 阿里2014校招笔试题(南大)——利用thread和sleep生成字符串的伪随机序列
- String s=new String("abc")创建了几个对象?
- Linux设备驱动程序学习(1) -字符设备驱动程序