常用的java框架有:
- SSH组合
SpringMVC+Spring+Hibernate - SSM组合
SpringMVC+Spring+Mybatis(流行组合) - SpringBoot
- springCloud
- 权限管控框架
Shiro、SpringSecurity
一. 概念
1. Spring
Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC)和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。
2. SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。
3. SpringBoot
Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题—>习惯大于约定。
二. 原理和结构
1. Spring的原理和组成
Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。如下图:
简化的理解图:
2、SpringMVC的原理和组成
从上图中可以看出:SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC)。专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。
其原理如下:
MVC:Model(模型)、VIew(视图)、Controller(控制器);我们从开始接触并学习javaWeb开发就知道MVC这一种架构,如早起的Sturts1、Sturts2等。
3、SpringBoot的原理和特性
Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。
Spring Boot中的一些特点:
- 创建独立的spring应用。
- 嵌入Tomcat, JettyUndertow 而且不需要部署他们。
- 提供的“starters” poms来简化Maven配置。
- 尽可能自动配置spring应用。
- 提供生产指标,健壮检查和外部化配置。
- 绝对没有代码生成和XML配置要求。
总结:
简单理解为:Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。