His*_*ban 9 java spring annotations spring-mvc
为什么我们需要@service在服务实现和@repositoryDAO实现中使用.当我在spring MVC中交换@service和@repository注释时没有问题.
根据文件建立 @Repository,@Service,@Controller都是同义词.它们都只是@Component注释的特化.因此,一般来说,它们可以用于其他一种.但是......你不应该这样做.
第一个原因:任何此注释都明确了组件在应用程序中的作用.显示 - 此组件是否属于控制器,服务或数据层.
第二个原因:一些注释由不同的Spring模块处理不同.例如,Spring Data JPA将进行处理@Repository,并将尝试用实现替换任何标记为此注释的接口.Spring还将对这些类应用自动异常转换.URL映射中标有它的另一个示例,Spring Web MVC进程@Controller和使用类.
实际上,在未来的版本中,Spring的某些模块可以@Service以特定的方式处理.不那么简单@Component.这就是文档建议的原因:
在未来的Spring Framework版本中,@ Repository,@ Service和@Controller也可能带有额外的语义.因此,如果您选择在服务层使用@Component或@Service,@ Service显然是更好的选择.
| 归档时间: |
|
| 查看次数: |
4535 次 |
| 最近记录: |