注解@controller@service@component@repository区别
查了一些网上的其他博客,发现几个注解本质上没有什么区别,至少在spring2.5版本里,这几个注解本质是一样的(当然,新的版本有什么变化目前还没细查),命名不一样主要是为了区分类的作用和所属层级:
@Repository:持久层,用于标注数据访问组件,即DAO组件。
@Service:业务层,用于标注业务逻辑层主键。
@Controller:控制层,用于标注控制层组件。
@Component:当你不确定是属于哪一层的时候使用。
之所以区分开几种类型,一是spring想在以后的版本中为它们添加特殊技能,二是这种分层的做法使web架构更清晰,易读性与维护性更好。