java 框架

Spring SpringMVC spring boot jfinal
spring是一个一站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决方案;spring的两大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。
spring包括很多东西,包括springmvc和springboot

Spring 是一个“引擎”;

springmvc给spring的表现层提供支持 Spring MVC 是基于 Spring 的一个 MVC 框架

springmvc就是在Controller和页面之间连接的框架,
Spring MVC提供了一种轻度耦合的方式来开发web应用。springmvc是框架,项目中实际运行的代码

Spring MVC 是基于Spring的一个 MVC 框架

Spring Boot实现了自动配置,降低了项目搭建的复杂度

Spring boot是一个在Spring 的基础上搭建的全新的微框架,其目的是简化Spring的搭建和开发过程

Spring boot对第三方技术进行了很好的封装和整合,提供了大量第三方接口 可以通过依赖自动配置,不需要XML等配置文件 还提供了安全等特性

jfinal本质上就是一个快速开发的java后台框架该配置的还是要配置

传统的ssm或者ssh 需要手工配置很多的xml文件,在搭建环境的过程中花费了很多的时间

Springboot  目标在于构建快速开发的项目,基本上不需要额外的配置

项目不大的话jfinal,大了的话还是springboot

Spring框架的IOC和AOP:

控制反转(Inversion of Control)和依赖注入(Dependecy Injection)是同一个概念
当某个方法需要另外一个对象协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例
在Spring中创建被调用者的工作不再由调用者来完成,称为控制反转
创建被调用者的工作由spring来完成,然后注入调用者,称为依赖注入
其作用是为了解耦,降低类之间的耦合度,其设计思想就是设计模式的工厂模式
在Spring容器启动的时候,Spring会把你在application.xml中配置好的bean都初始化
需要调用的时候,把初始化的Bean分配给你要调用的类,不用去手工创建一个对象的实例

AOP(面向切面编程)可以说是对OOP(面向对象编程)的补充和完善
当我们需要为分散的对象引入公共行为的时候,OOP就显得无力,OOP不能解决从左到右的关系
例如公共的日志处理,权限处理,事务之类的代码往往分散于很多功能逻辑代码中,产生大量重复代码
可以把这些代码封装成一个切面(新的类&方法),然后注入到目标对象中
注意:这里不要理解为工具类,工具类是由方法调用的,AOP的代码会与功能逻辑代码完全剥离,也无调用关系
Spring框架中的AOP主要表现为两个方面: 提供声明式事务管理、支持用户自定义的切面

OP最大的用途就在于提供了事务管理的能力:
访问数据库,不想管事务(太烦),所以Spring框架在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后,自动帮你提交/回滚事务!

你可能感兴趣的:(面试)