首页 > 其他分享 >简单了解SSM框架的作用,面试浅谈

简单了解SSM框架的作用,面试浅谈

时间:2023-11-24 12:07:13浏览次数:34  
标签:浅谈 框架 对象 代理 SSM 面试 动态 注入


SSMSSH是比较流行的Web框架,今天主要说下SSM(其实是我不了解SSH,哈哈);话不多说进入正题,SSM主要构成Spring,SpringMVC,Mybatis三大部分组成,分别说一下他们的作用;

首先关于框架的概念: 框架:在这里特指软件框架,它是我们在实际开发中解决项目需求的技术集合。运用框架可以大大简化我们的代码编写,缩短开发周期。同时,对后续项目维护在面对开发团队人员更迭时降低了门槛,对系统升级提供灵活可控的标准。当然,框架提高了我们的开发效率,降低维护成本的同时,也要求我们在使用时遵循它的规范,要按照它的使用要求编写代码。最后,需要注意的是,它不是系统架构。

框架的作用:

提高开发效率 ,增强可重用性, 节约维护成本,提供编写规范 ,解耦底层实现原理。

Spring: 主要是管理项目中javaBean的生命周期,简化了代码编写,降低了代码的耦合度,提高了代码的复用性,

主要有两大核心:1,**IOC容器控制反转:**控制反转,主要作用 创建对象,管理对象(依赖注入),整合对象,配置对象以及管理对象的生命周期;

补充问题:有哪些不同类型的IOC依赖注入?

构造器依赖注入:在容器触发构造器的时候完成,每一个参数代表注入的对象;

Setter方法依赖注入:容器出发一个无参构造方法或者无参构造静态工厂实例化对象的时候,容器调用Bean中的Setter方法完成Setter方法依赖注入;,

2,AOP面向切面编程: 全称是Aspect Oriented Programming。即:面向切面编程。它主要把我们业务逻辑中的各个部分进行隔离,使每个部分独立开来,在需要用到那个部分的时候,使用动态代理的技术,对已有的方法进行增强,大大优化了事务的操作;

3,AOP主要有两种动态代理: 1,jdk动态代理:

利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。

**2,cglib动态代理:**利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。

jdk动态带和cglib动态代理的区别: JDK动态代理只能对实现了接口的类进行动态代理;Cglib 主要是针对类进行代理,主要是动态的生成被代理的子类,主要还是继承,因此不能用final类或方法

SpringMVC: MVC分别是model,view,controller,分别是模型(类似于javaBean),视图(展示模型中的数据),控制器(把不同的数据模型展现到不同的视图上);

原理:流程图一般面试都会问

简单了解SSM框架的作用,面试浅谈_依赖注入


mybatis: 主要是负责Dao层持久层框架,动态绑定sql语句对数据库进行操作,底层是对jdbc的封装,每次与数据库交互时,通过sqlSessionFactory拿到sqlSession,在执行sql命令。(这个写的有点简陋了哈哈哈哈,有补充的欢迎找我交流,闲的太无聊了!!!)


标签:浅谈,框架,对象,代理,SSM,面试,动态,注入
From: https://blog.51cto.com/u_15820326/8547606

相关文章

  • clickhouse-配置浅谈
    clickhouse,全称:clickstreamwarehouse,简称:ck.属于LOAP分类下的数据库类型,且为列式数据库。在mac下,安装简单。brewinstallclickhouse如果想下载源码,则去github官网down即可。涉及相关配置的文件,也可以在源码中翻找。举例:server配置文件所属目录: /ClickHouse......
  • 项目正式——数据同步(重点章节,可应付面试)
    他妈的一个数据库的使用阿来了创建四个表参数记得128记得1521要一致监听不行就重启思路重要代码功能这一块很简单数据同步-业务需求单点故障是指系统中的一个组件或部件出现故障,导致整个系统无法正常工作。这可能是由于硬件故障、软件错误或人为失误等原因造成的。单......
  • 2024年面向Java程序员的20个系统和软件设计面试题
    0前言系统设计问题是编程面试的重要组成部分,如果你想取得好成绩,就必须准备。在我的网站,分享了八股面试题时,也分享了一些系统设计问题,但粉丝们一直在要求更多问题,因为这个主题的确很难掌握,需要更多练习。我自己也收集了一些从朋友和同事那里获得的面试题,但为了这篇文章和自己的准......
  • [左神面试指南] 数组和矩阵[上]篇
    CD149转圈打印矩阵publicclassCD149_1{publicstaticvoidsolution(int[][]arr){intup=0,down=arr.length-1,left=0,right=arr[0].length-1;while(up<=down&&left<=right){for(int......
  • 浅谈字符串哈希 入门
    基本介绍字符串哈希的主要思路是这样的:首先选定一个进制\(P\),对于一个长度为\(N\)的字符串\(S\)的所有\(i(1\leqi\leqn)\)的\(S_1,S_2,...,S_i\)子串表示成\(P\)进制的值预处理记录下来。这样判断\(S_i,S_{i+1},...,S_{i+m-1}\)和\(T_1,T_2,...,T_m\)是否相等......
  • 面试还搞不懂redis,快看看这40道面试题(下)
    21、Redis集群的主从复制模型是怎样的?答:为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个节点都会有N-1个复制品.22、Redis集群会有写操作丢失吗?为什么?答:Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下......
  • 面试必刷TOP101:30、二叉搜索树与双向链表
    题目题解/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同*左子树的右子树和右子树的左子树相同即可,采用递归*非递归也可,采用栈或队列存取各级子树根节点*/publicclassSolution{ booleanisSymmetrical(TreeNodepRoot) { if(pRoot==null){ re......
  • 一套被严重低估的后端面试题库!
    在面试跳槽前,给大家整理了一份大厂加强版面试+技术资料供大家修炼。主要有Java集合、JVM、多线程、设计模式、算法调优、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、MongoDB、Redis、MySQL……等等包含了20个技术栈的资料合集和十多个互联网大厂的面试核心知识点、......
  • 面试题 02.07. 链表相交
    2023-11-21面试题02.07.链表相交-力扣(LeetCode)思路:1暴力法:判断的是next是不是相等1hashmap存储其中一个的全部,遍历另一个看是不是在map中(用set就行,不用map)2双指针:用2个指针分别遍历2链表(都是遍历完一个继续遍历另一个),最终会相等的,相等就是找到了暴力法:/***Defi......
  • 10、Redis哨兵(sentinel)【面试重点】
    一、是什么二、能干嘛三、怎么玩(案例演示实战步骤)1、RedisSentinel架构,前提说明2、案例步骤2.1sentinel.conf文件位置2.2重点参数项说明2.3本次案例哨兵sentinel文件通用配置2.4先启动一主二从3个redis实例,测试正常的主从复制以下是哨兵......