
面试题-Spring+SpringMVC
文章平均质量分 52
面试题-Spring+SpringMVC
啥也不懂的派大星
这个作者很懒,什么都没留下…
展开
-
Spring的单例Bean是线程安全的么?
Spring的bean是线程安全的吗?大家可以回顾下线程不安全构成的三要素:1,多线程环境2,访问同一个资源3,资源具有状态性那么Spring的bean模式是单例,而且后端的程序,天然就处于一个多线程的工作环境。那么是安全的吗?关键看第3点,我们的bean基本是无状态的,所以从这个点来说,是安全的。所谓无状态就是没有存储数据,即没有通过数据的状态来作为下一步操作的判断依据Spring通过ThreadLocal解决线程安全问题。@Controller修饰的类,默认是单例的。...原创 2021-04-13 09:27:20 · 242 阅读 · 0 评论 -
SpringMVC的执行流程?
SpringMVC的流程?1,首先,将请求分给前端控制器DispatcherServlet2,DispatcherServlet查询HandlerMapping(映射控制器),从而找到处理请求的Controller(处理器)3,Controller执行业务逻辑处理后,返回一个ModelAndView(模型和视图)4,DispatcherServlet查询一个或多个ViewResolver(视图解析器),找到ModelAndView对应的视图对象,视图对象负责渲染返回给客户端。(1)用户发送请求原创 2021-04-13 09:19:34 · 106 阅读 · 0 评论 -
spring是什么?IOC的理解?AOP的理解?BeanFactory和ApplicationContext区别?
全部对象的控制权全部上缴给“第三方”IOC容器,所以,IOC容器成了整个系统的关键核心,它起到了一种类似“粘合剂”的作用,把系统中的所有对象粘合在一起发挥作用,如果没有这个“粘合剂”,对象与对象之间会彼此失去联系,这就是有人把IOC容器比喻成“粘合剂”的由来。引入IOC容器之后,对象A与对象B之间失去了直接联系,当对象A运行到需要对象B的时候,IOC容器会主动创建一个对象B注入到对象A需要的地方。(面向切面编程),方便我们将一些非核心业务逻辑抽离,从而实现核心业务和非核心业务的解耦,是面向对象编程的补充。原创 2021-04-13 09:28:27 · 197 阅读 · 0 评论 -
Spring的bean作用域有哪些?Spring Bean的生命周期?bean的自动装配
Spring的bean作用域有哪些?Spring Bean的生命周期?原创 2021-04-13 09:27:52 · 232 阅读 · 0 评论 -
Spring事务的实现方式和原理以及隔离级别?Spring事务传播机制?Spring事务什么时候会失效?
我们一般都是将事务的边界设置在Service层,那么当我们调用Service层的一个方法的时,它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全部失败。那么事务的传播特性也是从这里说起的。必须保证在我方法里调用的这个方法与我本身的方法处在同一个事务中,否则无法保证事物的一致性。原创 2021-04-15 09:15:41 · 207 阅读 · 0 评论 -
如何实现一个IOC容器
1. 配置文件配置包扫描路径 2. 递归包扫描获取.class文件 3. 反射、确定需要交给IOC管理的类 4. 对需要注入的类进行依赖注入原创 2023-01-07 19:53:57 · 185 阅读 · 0 评论 -
谈谈三层架构和MVC模式
1,JavaEE将企业级软件架构分为三个层次:Web层:负责与用户交互并对外提供服务接口业务逻辑层:实现业务逻辑模块数据存取层:将业务逻辑层处理的结果持久化,方便后续查询2,看图:3,每个层都有各自的框架WEB层:SpringMVC,Struts2,Struts1业务逻辑层:Spring数据持久层:Hibernate,MyBatis,SpringDataJPA,SpringJDBC...原创 2021-04-11 18:48:56 · 114 阅读 · 0 评论 -
如何实现动态代理?
如何实现动态代理?SpringAOP(面向切面编程),AOP分离核心业务逻辑和非核心业务逻辑,其背后动态代理的思想,主要的实现手段有两种1,JDK的动态代理,是基于接口的实现2,基于CGLIB的动态代理,是基于继承当前类的子类来实现的(所以,这个类不能是final)。我们项目结构是没有接口的情况下,如果实现动态代理,那么就需要使用这种方法。所以,我们的Spring默认会在以上两者根据代码的关系自动切换,当我们采用基于接口的方式编程时,则默认采用JDK的动态代理实现。如果不是接口的方式,那么会自动采原创 2021-04-13 09:29:27 · 413 阅读 · 0 评论 -
Spring 框架中用到了哪些设计模式
代理模式-------在 AOP 和 remoting 中被用的比较多。单例模式-------在 spring 配置文件中定义的 bean 默认为单例模式。模板方法-------用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。工厂模式-------BeanFactory 用来创建对象的实例。简单工厂:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。工厂方法:单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点.原创 2021-05-08 10:24:01 · 378 阅读 · 0 评论 -
SpringMVC+Spring的父子容器关系
SpringMVC+Spring的父子容器关系SpringMVC+Spring这种开发模式的时候,会有两个容器。SpringMVC容器管理,controller,Handlermapping,ViewResolverSpring容器管理,service,datasource,mapper,daoSpring容器是父容器,SpringMVC容器是子容器。...原创 2021-04-12 09:21:51 · 195 阅读 · 0 评论 -
Session跟Cookie的区别
存储的位置不同。session是基于cookie的,Session:服务端;Cookie:客户端。存储的数据格式不同。Session:value为对象,Object任意类型;Cookie:二进制数据,ASCII字符串,如果我们存储一个对象,这个时候,就需要将对象转换为JSON。存储的数据大小Session:受服务器内存控制;Cookie:一般来说,最大为4k。生命周期不同Session:服务器端控制,默认是30分钟,注意,当用户关闭了浏览器,session并不会消失Cookie:客户端控制,其实是客.原创 2021-04-11 18:49:04 · 195 阅读 · 0 评论 -
TCP的三次握手?TCP的四次挥手?从浏览器输入URL到页面加载完毕的过程?TCP和UDP的区别?
TCP的三次握手?TCP的四次挥手?客户端要建立连接:三次握手客户端要断开连接,四次挥手,因为TCP连接是一个双工的通信模式。从浏览器输入URL到页面加载完毕,都经历了什么?经过域名解析DNS将url转成ip地址将这个IP地址和服务器建立TCP网络连接,三次握手,随后向服务器发出http请求。http协议是tcp的上层协议。服务器收到请求,处理完成后,将相应放到http相应信息里面,返回客户端客户端对相应信息渲染,展示...原创 2021-04-15 09:18:42 · 250 阅读 · 1 评论 -
js跨域问题 ajax跨域问题?
js跨域问题 ajax跨域问题?定义:跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com的资源。但是一般情况下不能这么做,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。所谓同源是指,域名,协议,端口均相同。这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。概念:只要协议、域名、端口有任何一原创 2021-04-15 09:12:55 · 255 阅读 · 0 评论 -
SpringMVC常用的哪些注解及作用
SpringhMVC常用的哪些注解及作用@Requestmapping 做请求的URL跟我们controller或者方法的映射关系@getMapping 请求方式为GET@PostMapping 请求方式为POST@DeleteMapping 请求方式为DELETE@PutMapping 请求方式为PUT@RequestBody 接收请求中的参数信息,一般来说,接收一个集合或数组,或者以post方式提交的数据 @ResponseBody List< Long> tids@Req原创 2021-04-15 09:13:56 · 205 阅读 · 0 评论 -
转发和重定向的区别
1,转发:发生在服务器内部的跳转,所以,对于客户端来说,至始至终就是**一次请求,**所以这期间,保存在request对象中的数据可以传递2,重定向:发生在客户端的跳转,所以,是多次请求,这个时候,如果需要在多次请求之间传递数据,就需要用session对象在后台程序,想跳转到百度,应该用转发还是重定向?答案:重定向,因为转发的范围限制在服务器内部...原创 2021-04-11 18:49:10 · 119 阅读 · 0 评论 -
HTTP协议的请求类型?URI和URL的区别? 常见的响应状态码?
HTTP协议的请求类型GET、POST、PUT、DELETE、HEAD、OPTIONS、TRACE、CONNECTHEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。URI和URL的区别HTTP使用统一资源标识符(URI)来传输数据和建立连接。URI:Uniform Resource Identifier 统一资源标识符URL:Uniform Resource Lo原创 2021-04-15 09:14:59 · 334 阅读 · 0 评论