最近在学习spring中,关于spring里面的注释@Repository,@Service,@Controller和@Component也通过各种渠道了解了一些,
以下是我对这四个注释的一些见解,如有误区或者雷同,还请谅解。
首先我们来了解一下这四个注释分别是有什么作用:
1.@Repository是用来将数据访问层的类标示为spring bean;具体用法是标注在类上就可以了
2.@Service是用来作用在业务层;用法同上
3.@Controller是用来作用在表示层;用法同上
4.@component是一个比较广泛的注释,可以用在任何层次上;用法同上
接下来重要的事:要使用这些注释并且使其有效,需要在配置文件里面启用 springbean的自动扫描功能
开启之后再在容器初始化的时候就会自动扫描base-package包里面的所有注解的类并将将注解的bean注入spring容器,不用再配置文件里面进行bean的配置注入。
一个问题:既然@component可以完成所有的功能,为何还要再进行细化来使用不同的注释?
我的理解是:
1.spring里面关于不同层次注释的bean应该有其独特的封装处理机制
2.这样不同层次的不同注释也有利于程序员对代码的可读性。
(当然这里面应该还有其他原因,望各位读者进行指正补充!)