@controller 和@service的区别

今天面试时被问到一道问题:@controller与@service的区别,还有@controller里可以@service吗?这道题纠结了好久了,就大神的解答!

区别一:用途不一样

1、@Service用于标注业务层组件

2、@Controller用于标注控制层组件(如struts中的action)

区别二:执行操作不一样

1、service层:在接触Spring框架时会了解到面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层

2、controller层:可以看做是view和Model之间进行沟通的桥梁,可以分发用户的请求,并选择恰当的视图以用于显示,同时可以解释用户的输入并映射为模型层可以执行的操作。

扩展资料

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

参考资料来源:百度百科—MVC框架

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-10
他们都是spring提供的注解,其中@controller对应的是mvc模式中的c,即控制层,@service是处于m,即业务层,并且@controller中是可以用@service的。追问

那是不是可以理解为service与controller合并了

追答

真的不好意思,我本来以为是@controller中是可以用@service的,但是刚刚和同学一起探讨了一下这个问题,最终我们感觉应该是不可以的,因为那样spring就不能分辨这个类到底是controller还是service了,不好意思,是不可以的~~

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网