SSM、Spring MVC、Spring Boot、Spring、Spring Cloud、MyBatis

SSM:Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

Spring MVC:属于Spring Framework的后续产品,已经融合在Spring Web Flow里面,它原生支持的Spring特性,让开发变得非常简单规范。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制,主要用于web端开发。

Spring Boot :是一种快速搭建的脚手架,通过用MAVEN依赖的继承方式,依赖各种Starter,省略了Spring特别多而繁琐的xml配置。完全采用注解化(使用注解方式启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat,Jetty),最终以Java应用程序进行执行。SpringBoot的web组件默认集成了SpringMVC,引入一个web-starter依赖就可以使用Spring MVC,可以实现HTTP+JSON的轻量级传输,编写微服务接口

历史:spring boot的产生主要是提供工程开发便捷。之前开发Spring工程,除了引入依赖,还需要配置许多上下文容器中的配置,例如我们数据库配置,bean的配置,mvc mapping的声明,都是十分麻烦的。在spring boot上这搭建工程仅需几分钟即可,就像它官网说的那样开箱即用,“just run”。

使用:在spring boot使用上,构建工程时,使用最多的就是引入对应组件的starter,版本交由spring boot管理,省去了依赖冲突的工作量。在开发过程中,结合spring以及spring boot引入的一些注解,例如@Configuration, @Bean, @ConditionalOnClass,@ConditionalOnMissingClass等注解,让我们可以更优雅的注入Bean,以及替换掉默认引入的Bean。

总:总之,现在这两个组件我们工程都在使用,搭配起来,开发十分方便。

Spring:使用基本的JavaBean来完成以前只可能由EJB完成的事情,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

IOC:控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调用这些bean的类(假设这个类名是A),分配的方法就是调用A的setter方法来注入,而不需要你在A里面new这些bean了。
[注意]:面试的时候,如果有条件,画图,这样更加显得你懂了

【简单来说】:就是JavaBean

AOP只是Spring的特性,它就像OOP一样是一种编程思想,并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去

实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

[简单点解释],比方说你想在你的biz层所有类中都加上一个打印‘你好,AOP’的功能这你经可以用aop思想来做,你先写个类写个方法,方法经实现打印‘你好,AOP’让后你Ioc这个类 ref=“biz.*”让每个类都注入。

MyBatis:本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。可以这么理解,MyBatis是一个用来帮你管理数据增删改查的框架。

用问题来深入理解:

Spring Boot 和Spring MVC 的区别

SorinaBoot 是一种基于 Java 的轻量级框架,它提供了一种快简便的方法来构建企业级应用程序。而SorinaMVC 则是一种使用Java语言编写的 Web 应用框架,它提供了-种用于构建 Web 应用程的架构。SprinaBoot 支持自动配置,SprinaMVC 则不支持,SprinaBoot拥有更广泛的功能,而SpringMVC只能处理请求和响应,并不能处理数据库连接等功能

 SpringBoot的web组件默认集成了SpringMVC,可以实现HTTP+JSON的轻量级传输,编写微服务接

SpringBoot 的pom中引入如下依赖就可以使用SpringMVC了(下面用),如过spring控制了版本下面可以不带version标签。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<version>2.1.8.RELEASE</version>
</dependency>

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值