SpringMVC
三层架构
用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构
表现层: Controller 用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型
业务层: Service 处理具体的业务逻辑
持久层: Respository 操作数据库
MVC模型
Model View Controller 模型视图控制器,每个部分各司其职
Model:数据模型 ,JavaBean的类,用来进行数据封装。
View:指JSP、HTML用来展示数据给用户,thymeleaf
Controller:用来接收用户的请求,整个流程控制器。用来进行数据校验等。
Spring的原理和组成
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现,Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。
Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
IOC 和 AOP
控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。
在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。下表列出了 IOC 的一个实现模式。
例如:
1.服务需要实现专门的接口,通过接口,由对象提供这些服务,可以从对象查询依赖性。
2.通过 JavaBean 的属性(例如 setter 方法)分配依赖性。
3.依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公开。