兼职做视频的网站,营销渠道的选择和营销网络的建设,白山北京网站建设,仿牌网站流量T04BF #x1f44b;专栏: 算法|JAVA|MySQL|C语言 #x1faf5; 今天你敲代码了吗 应用分层
介绍
在阿里的开发手册里,关于工程结构部分,定义的常见工程的应用分层结构 那么什么是应用分层呢?
应用分层是一种软件开发设计思想,他将应用程序分层N个层次.这N个层次分别负责各… T04BF 专栏: 算法|JAVA|MySQL|C语言 今天你敲代码了吗 应用分层
介绍
在阿里的开发手册里,关于工程结构部分,定义的常见工程的应用分层结构 那么什么是应用分层呢?
应用分层是一种软件开发设计思想,他将应用程序分层N个层次.这N个层次分别负责各自的职责,多个层次之间协同提供完整的功 能.根据项目的复杂度,把项目分成三层,四层或者更多层
常见的MVC设计模式,就是应用分层的一种具体体现
但是目前主流的开发模式是前后端分离的方式,即后端工程师不需要关注前端的实现,所以又产生了一种新的分层架构:将整体架构分成表现层、业务逻辑层和数据层,这种分层方式也称为三层架构.
表现层:就是展示数据结果和接受用户指令的,是最靠近用户的一层业务逻辑层:负责处理业务逻辑,里面有复杂业务的具体实现数据层:负责存储和管理与应用程序相关的数据 按照上面的层次划分,Spring MVC站在后端开发人员的角度,也给予了支持,在Spring的实现中有所体现
Controller:控制层。接受前端发送的请求对请求进行处理并响应数据Service业务逻辑层。处理具体的业务逻辑。Dao数据访问层也称为持久层。负责数据访问操作包括数据的增、删、改、查。
2 简单应用
一个简单的图书管理系统例子:
//Controller层 -- UserController
RestController
RequestMapping(/user)
public class UserController {RequestMapping(/login)public String login(String userName, String password, HttpSession session) {if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)) {return 用户名和密码不能为空;}if(!admin.equals(userName) || !123456.equals(password)) {return 账号或密码错误;}session.setAttribute(userName, userName);return ;}
}//Controller层 -- BookController
RestController
RequestMapping(/book)
public class BookController {Autowiredprivate BookService bookService;RequestMapping(/getList)public ListBookInfo getList() {ListBookInfo bookInfos bookService.getList();return bookInfos;}
}//Service层 -- BookServer
Service
public class BookService {Autowiredprivate BookDao bookDao;public ListBookInfo getList() {ListBookInfo bookInfos bookDao.mockData();for (BookInfo bookInfo : bookInfos) {if(bookInfo.getState() 1) {bookInfo.setStateCN(可借阅);}else {bookInfo.setStateCN(不可借阅);}}return bookInfos;}
}//Dao层 -- BookDao
Repository
public class BookDao {public ListBookInfo mockData() {ListBookInfo books new ArrayList();//没有数据,因此直接模拟数据for (int i 0; i 10; i) {BookInfo book new BookInfo();book.setBookId(i);book.setBookName(图书i);book.setAuthor(作者i);book.setNum(i*10);Random random new Random();book.setPrice(BigDecimal.valueOf(random.nextDouble()*100));book.setPublishName(出版社i);book.setState(1);books.add(book);}return books;}
}感谢您的访问!!期待您的关注!!! T04BF 今天记得敲代码