目录
关于Spring
Spring MVC
MVC
三层架构
三层架构项目结构
关于Spring
Spring ,SpringBoot, Spring MVC属于Spring家族的产品。
Spring就是一个框架,是为了简化java开发;SpringBoot是基于Spring的一个框架,为了简化Spring项目而诞生的。
Spring MVC
Spring MVC又为Spring Web MVC,是一种Web框架。
MVC
MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型、视图和控制器三个基本部分。
- View(视图):指在应用程序中专门用来与浏览器进行交互,展示数据的资源。
- Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑的部分。
- Controller(控制器):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪个模型来处理,以及处理完后需要跳转到哪一个视图。即用来连接视图和模型。
三层架构
目前现在更主流的开发方式是“前后端分离”的方式,后端开发工程师不再需要关注前端的实现,所以对于Java后端开发,又有了一种新的分层架构:把整体架构分为表现层、业务逻辑层和数据层。这种分层方式也称之为“三层架构”。
1.表现层:就是展示数据结果和接受用户指令的,是最靠近用户的一层;
2.业务逻辑层:负责处理业务逻辑,里面有复杂业务的具体实现;
3.数据访问层:负责存储和管理与应用程序相关的数据,包括增删改查。
三层架构和MVC的区别和联系:
三层架构项目结构
src/main/java
├── com.example.demo
│ ├── controller(package) // 表现层(Controller)
│ │ └── UserController.java
│ ├── service(package) // 业务逻辑层(Service)
│ │ ├── UserService.java (interface )
│ │ └── impl (package)
│ │ └── UserServiceImpl.java
│ ├── repository (package) // 数据访问层(Repository)
│ │ └── UserRepository.java (interface )
│ ├── Model(package) // 实体类(Model)
│ │ └── User.java
│ └── DemoApplication.java
具体代码:
//表现层(控制类)
@RestController
@RequestMapping("/book")
public class BookController {@AutowiredBookService service;@RequestMapping("/booklist")public String booklist() {List<Book> list = service.getMessage();return list.toString();}
}//实体类
@Data
public class Book {private Integer id;private String from;private String to;private String deleteFlag;private String createTime;private String updateTime;
}//数据访问层
@Mapper
public interface BookRepository {@Select("select *from message_info")List<Book> getBooks();}//业务逻辑层
@Service
public class BookService {@AutowiredBookRepository bookRepository;public List<Book> getMessage(){return bookRepository.getBooks();}}