注解相关
@repository
标示一种作为单独在model中使用的操作接口,没有封装的状态。
很常见的定义注解通过spring定义dao bean。dao(data access object),项目中经常应用的数据库访问层可以使用该注释。但要注意和ddd(领域驱动设计)的区别。
@service
表示一种作为服务类,也是一种特殊的@component。
@controller
标注一种是controller层的类。也就是形象的action层,我觉得action更贴近生活点。因为我比较爱生活。和@service一样一种特殊的@component。
@autowired
标注构造函数,字段,setter方法或配置方法,让其通过spring依赖注入自动填充。
是否看过很常见的如下定义:在action层自动注入service层bean,可以字段也可以set方法,也就是说字段可以省了段代码(何乐而不为)。
那个配置方法,就是java config方法,比如说获取些主机名,端口号之类。
@requestmapping
作用于类或者方法,用于映射web请求。也就是一种在servlet与web组件之间的一种中庸之道吧。
<context:component-scan base-package=”packagename.xxx”/>
扫描base-package下的包,将标注spring注解(@service、@autowired、@repository)的类自动转化为bean,完成bean的注入。比如dao层,service层的依赖注入。
事务配置及aop配置提供事务增强:
①处配置了transaction事务管理器,引用了datasource 。其内在应该是把数据库事务用spring(代码)级别声明式管理
②配了事务管理器,哪里用到了?当然要用的地方,比如service层。利用aop切面提供事务,使得事务得到打了鸡血式的使用。里面配置了③切入点(哪里用事务)及④利用spring advisor(类似拦截器)拦截至切入点,并引用⑤通知来正则匹配其service方法来aop,可以看出细粒度达到方法级别。
三、持续更新。。。