1分钟Springstereotype
Posted 码哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1分钟Springstereotype相关的知识,希望对你有一定的参考价值。
当你看到标题时,90%概率你并不知道本文将讲述什么。而当你看到:@Controller、@Service、@Repository,你可能会感叹就这啊。而你感慨之余,别急着点出去,笔者接下来讲述的你可能并不清楚,因为其背后涉及的内容并非你想的那么简单。
1.包的含义
相信这个包名对你来说是既熟悉又陌生,那么先来说下包名含义吧。stereotype机翻是“刻板偏见”,个人认为更合理的翻译应该是“通认概念”,顾名思义这几个注解是应用中通认的概念,javadoc中解释包名含义是:这些注解是架构中特定的角色。而放在context模块中,其概念的通用性可见一斑。而包中注解和Data Access Object Pattern(DAO)、Domain-Driven Design(DDD)、Model View Controller(MVC)、分层架构都有着关系。
2.功能解释
@Controller标注在控制层,这里可以是MVC中的controller,用来处理请求,这里不做赘述。
@Service标注在服务层,这里既可以是J2EE中的Business Service Facade的概念,也是DDD中的service概念。
@Repository标注在数据层,这里既可以是J2EE中DAO类,也可以是DDD中资源仓库的概念。
3.结语:
解释了包中注解的用处和对应的架构中概念,由此你会发现,这三个看似平常的注解,其背后涉及的概念和知识却十分多。而每个注解又跨越了多种架构模式,故笔者习惯叫stereotype为通用概念,因为这些概念既是普世认同,又是跨越架构的。
由于篇幅有限,这一块内容笔者将在下(几)篇中分享这三种web架构中常用的模式,以及何为分层架构。这里你可以只知道怎么用这几个注解就好,通过下篇文章阐述,加上你的工作/学习经验,相信你会豁然开朗的。
以上是关于1分钟Springstereotype的主要内容,如果未能解决你的问题,请参考以下文章
无法从 1 分钟到 5 分钟的数据重新采样 pandas 时间序列