什么是ssm?如何使用ssm进行后端开发

一、ssm概述

1.1 定义

  • SSM框架是Java EE 领域内三大优秀框架的缩写它们分别指的是 spring,springMVC,Mybatis 框架的简写。

1.2 持久层框架 (mybatis&&mybatisPlus)

  • Mybatis 是一个优秀的持久层框架。它采用的框架思想是ORM(对象关系映射)这也是大多数持久层框架采用的思想。何为ORM呢。说简单点ORM实现的功能就是把我们的Java 实体类也数据库的字段对应起来可以快速的实现Java实体类字段封装到sql 语句把数据库查询出来的结果集封装到Java实体类。例如在mysql中我们的数据定义假设为user_name那么到了java中我们就会使用驼峰命名法这样是无法实现数据对应的。那么mybatis就完美的解决了这个问题
  • Mybatis是一个在Mybatis实现上的进一步封装使得整个开发过程更加简便例如对于他来说不需要书写Dao层的内容。当然这虽然简化了一定的过程但是很多时候对于复杂运用还是需要采用Mybatis去进行开发的。

1.3 Web 层框架 springMVC

  • spring MVC 是一个web 层的框架它属于由spring 提供的web 层扩展通过spring MVC 可以解决掉我们在利用 Servlet 原生API进行 web 模块编写时一个请求就要去对应一个Servlet 类的问题也可以轻松的解决我们频繁手动进行参数绑定视图映射等问题。spring MVC可以说极大的简化了我们web 功能模块重复代码的编写使我们的单个 web 功能模块更加高内聚低耦合。

1.4 spring框架

  • 上面我们说了spring 框架不属于三层架构的任意一层它工作在整个三层架构这是怎么回事因为 spring 它的核心在IOC 和 AOP,IOC代表的是一个Java bean 容器通过IOC 可以实现 控制反转和依赖注入如此我们不在需要手动去new 对象统一把 Java 对象交由 IOC 容器进行管理加粗样式(依赖关系)解耦我们的程序基于这一特性也利于我们spring 整合各类框架实现业务开发。AOP 的主要通过反射家动态代理实现已有方法增强减少冗余代码常用来进行 事务管理也日志记录。基于spring 的优良特性也诞生了我们优秀的微服务框架spring Boot,通过spring Boot 我们可以高效进行框架整合(启动器start)。

二、开发结构

在这里插入图片描述

2.1 config介绍

  • Spring4 以后官方推荐我们使用Java Config来代替applicationContext.xml声明将Bean交给容器管理。
    在Spring Boot中Java Config的使用也已完全替代了applicationContext.xml。实现了xml的零配置。所以无论从Spring的演进。其实就是用java类去代替了以前复杂的xml配置实现简化开发。

2.2 controller介绍

  • controller即表现层是实现和前端对接的重要部分可以理解为过去在javaweb中学习的servlet部分在现行springboot的这种方式使得这一部分的代码书写简单易懂。前端发送的json数据能够很好的进行处理也能够通过这里获取数据库内容。

2.3 dao介绍

  • dao层你可以理解为是具体的向数据库发送sql语句的部分在mybatisPlus中这部分也是被省略的部分因为mybatis已经帮我们封装好了一些基本的查询语句我们只要添加对应依赖即可。

2.4 domain介绍

  • 用来定义用户的属性名以及提供gettersetter以及toString构造方法等。通过对接Dao实现增删改查操作的返回。

2.5 exception介绍

  • 对于前期基础的开发或许我们还能够直接地在service实现类中进行定义但随着工程量的增大会发现需要的错误越来越多而且很多还存在很多的重合因此对与异常的输出封装就显得十分必要。

2.6 interceptor介绍

  • 这一部分可以称其为拦截器用来实现拦截有点像javaweb的filter书写这里我们能够实现某些操作例如访问页面需要先登录等操作。作者在现行操作中使用其解决了jquery的数据拦截问题。

2.7 service介绍

  • 对于springboot开发来说我们并不希望在我们实现某项功能时候还有大量的一些new操作以及判断操作我们希望在我们实现某个方法的时候只需要通过创建上转型对象实现。因此我们会在service层书写一个实现类用来对接Dao层的功能实现然后通过service接口创建实现上转型。

三、注解开发介绍

3.1 常见的注解

  • @Controller

组合注解组合了@Component注解应用在MVC层控制层,DispatcherServlet会自动扫描注解了此注解的类然后将web请求映射到注解了@RequestMapping的方法上。

  • @Service

组合注解组合了@Component注解应用在service层业务逻辑层

  • @Reponsitory

组合注解组合了@Component注解应用在dao层数据访问层

  • @Component

表示一个带注释的类是一个“组件”成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时这些类被视为自动检测的候选对象。同时@Component还是一个元注解。

  • @Autowired

Spring提供的工具由Spring的依赖注入工具BeanPostProcessor、BeanFactoryPostProcessor自动注入。

  • @Configuration

声明当前类是一个配置类相当于一个Spring配置的xml文件

  • @ComponentScan

自动扫描指定包下所有使用@Service,@Component,@Controller,@Repository的类并注册

  • @Bean

注解在方法上声明当前方法的返回值为一个Bean。返回的Bean对应的类中可以定义init()方法和destroy()方法然后在@Bean(initMethod=”init”,destroyMethod=”destroy”)定义在构造之后执行init在销毁之前执行destroy。

  • @Value

值得注入。经常与Sping EL表达式语言一起使用注入普通字符系统属性表达式运算结果其他Bean的属性文件内容网址请求内容配置文件属性值等等

  • @RunWith

这个是Junit的注解springboot集成了junit。一般在测试类里使用:@RunWith(SpringJUnit4ClassRunner.class) — SpringJUnit4ClassRunner在JUnit环境下提供Sprng TestContext Framework的功能

  • @RequestMapping

用来映射web请求访问路径和参数处理类和方法的。可以注解在类和方法上注解在方法上的@RequestMapping路径会继承注解在类上的路径。同时支持Serlvet的request和response作为参数也支持对request和response的媒体类型进行配置。其中有value(路径)produces(定义返回的媒体类型和字符集)method(指定请求方式)等属性。

  • @RestController

组合注解组合了@Controller和@ResponseBody,当我们只开发一个和页面交互数据的控制层的时候可以使用此注解。

  • @SpingBootApplication

SpringBoot的核心注解主要目的是开启自动配置。它也是一个组合注解主要组合了@Configurer@EnableAutoConfiguration核心和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置。

3.2 部分注解使用的位置

  • Controller,Service,Respontory应用位置,下面是位置对应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • Autowired用来注入需要使用的对象和value的使用有异曲同工之妙,value用来使用一个变量

在这里插入图片描述

  • SpringBootApplication

在这里插入图片描述

  • RestControllerh和ReqiuestMapper运用在Controller在这里插入图片描述
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6