在初学Spring时曾被Service绕晕,为何MVC模式下会多出一个Service层?设计Service时候为何需要先写一个接口,然后再去实现?Service之间是否可以相互调用?而这篇文章就是当初疑问的解决,也是对MVC模式深入理解。
Service从何而来
Spring MVC,是一个MVC框架,提到MVC,大家都不陌生,简单说一下,M为模型层,处理数据逻辑,V为视图层,负责展示,而C为控制层,负责M与V的交互。
在我大学的课堂上,也有学习到MVC模式,最简单的javabean+jsp+serlvet构成MVC模式,而老师千叮万嘱我们,Servlet中的逻辑一定要少,逻辑部分应该放在javabean,即模型层处理,但是模型层还肩负着存储数据的任务(其实这个就是Model所负责的数据逻辑,要实现数据逻辑,要有数据,要有处理),而Service就是将处理,也可以说业务,抽离出来,可以说是服务层,也可以说是业务层。MVC的划分概念,更加细致。
为什么设计Service时候需要先写接口
业务层接口
public interface IUserService { boolean login(User user);
}
业务层实现类
@Service("userService")
public class UserServiceImpl implements