一、MVC架构模式:
其中M又分为:业务逻辑(Servlet)、访问数据库(Dao)。
- 理解MVC和三层架构的关系:
- MVC中的V和C是三层架构中的“表示层”,M是“业务逻辑层”和“数据访问层(持久化层)”。
二、三层架构:
- 三层架构:
- 表示层:用来接收客户端的输入,调用业务逻辑层进行功能处理,返回结果给客户端.过去的servlet就是表示层的功能。
- 业务逻辑层:用来进行整个项目的业务逻辑处理,向上为界面层提供处理结果,向下问数据访问层要数据。
- 数据访问层(持久化层):专门用来进行数据库的增删改查操作,向上为业务逻辑层提供数据。
- 三层的处理请求的交互:
- 客户端<—>界面层<—>业务逻辑层<—>数据访问层<—>数据库。
- 为什么要使用三层架构:
- 结构清晰、耦合度低, 各层分工明确。
- 可维护性高,可扩展性高。
- 有利于标准化。
- 开发人员可以只关注整个结构中的其中某一层的功能实现。
- 有利于各层逻辑的复用。
- 三层架构项目实例:
- 项目结构!!!:
- 表示层:
UsersController类:
package org.example.controller;
import org.example.service.UsersService;
import org.example.service.UsersServiceImpl;
/**
* 表示层
*/
public class UsersController {
//表示层中必须要有业务逻辑层对象
UsersService usersService = new UsersServiceImpl();//面向接口编程
public void control(){
usersService.service();
}
}
- 业务逻辑层:
UsersService接口:
package org.example.service;
public interface UsersService {
void service();
}
UsersServiceImpl实现类:
package org.example.service;
import org.example.dao.UsersMapper;
import org.example.dao.UsersMapperImpl;
/**
* 业务逻辑层
*/
public class UsersServiceImpl implements UsersService{
//业务逻辑层必须要有数据访问层对象
UsersMapper usersMapper = new UsersMapperImpl();//面向接口编程
@Override
public void service() {
usersMapper.insert();
}
}
- 数据访问层:
UsersMapper接口:
package org.example.dao;
public interface UsersMapper {
int insert();
}
UsersMapperImpl实现类:
package org.example.dao;
/**
* 数据访问层
*/
public class UsersMapperImpl implements UsersMapper{
@Override
public int insert() {
System.out.println("用户增加成功");
return 1;
}
}
三、什么是SSM框架:
MyBatis 框架:
MyBatis 是一个优秀的基于 java 的持久层框架,内部封装了 jdbc,开发者只需要关注 sql 语句本身,而不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。
MyBatis 通过 xml 或注解两种方式将要执行的各种 sql 语句配置起来,并通过 java 对象和 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。
Mybatis框架优化了三层架构中的数据访问层。
Spring 框架:
Spring 框架为了解决软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前非常复杂的企业级开发。Spring 解决了业务对象,功能模块之间的耦合,不仅在 javase,web 中使用, 大部分 Java 应用都可以从 Spring 中受益。
Spring 是一个轻量级控制反转(IoC)和面向切面(AOP)的容器。
Spring框架整合了SpringMVC和Mybatis,优化了SpringMVC和Mybatis框架的使用,使得SpringMVC和Mybatis框架使用更加简洁。
SpringMVC 框架:
Spring MVC 属于 SpringFrameWork 3.0 版本加入的一个模块,为 Spring 框架提供了构建 Web 应用程序的能力。现在可以 Spring 框架提供的 SpringMVC 模块实现 web 应用开发,在 web 项目中可以无缝使用 Spring 和 Spring MVC 框架。
SpringMVC框架优化了MVC架构中的controller控制器。