1.spring中使用@Service("userservice")如何在其他地方引用这个service?

(1)getBean("userservice")

(2)@Autowired,如果系统中有多个对象,配合@Qulitifer使用

(3)@Resource(name="userservice")

2.spring中在默认情况下创建的bean是单例的吗?

3.如何把一个bean定义成多例的?

(1)scope="prototype"

(2)@Scope(value="prototype")

4.什么情况下我们应该把bean创建成单例的?举例

mybatis中的sqlsessonfactory

5.单例多例在创建时间上有什么区别?分别在什么时候创建?

单例在容器创建的时候就创建好了(默认关闭懒加载)

多例在被使用的时候创建,例如getBean(id), @Autowried, ref。。。的时候

6.验证是否bean.xml中的配置顺序会影响对象的创建顺序(限于单例情况)

会影响,最先配的最先实例化。如果一个beanA的创建需要另外一个beanB,这时虽然beanB在

beanA的后面,也不影响beanA的创建。

7.简述springIOC的执行过程

首先读入配置文件——>根据配置文件创建IOC容器——>实例化bean——>将实例化好

的bean放入IOC容器——>getBean(id),Autowired的方式使用bean

8.某个类实现了接口,如果里面的方法没有用到AOP功能,spring还为它生成代理类吗?

不会,只有切面在切方法的时候,spring才会为目标对象生成代理类。

9.默认情况下,一个实现了接口的类用AOP的话,spring将会生成什么类型的代理类?

默认情况,这样的话会生成JDK代理,可以强制生成CGLIB代理。

10.默认情况下,一个没有实现接口的类用AOP的话spring将会生成什么类型的代理类?

CGLIB代理。

11.JDK代理能为没有实现接口的类生成动态代理类吗?

不能,JDK代理必须要求目标类有接口,只能用cglib。但是cglib不能代理final类型的类和方法。

12.一个没有实现接口的类如果要生成动态代理类,可以用CGLIB代理,对吗?

对。

13.说说JDK代理和CGLIB代理的区别?

JDK代理要求目标对象必须有接口,CGLIB有没有接口都行。

14.JDK生成的动态代理类和目标类都实现了相同的接口,对吗?

对。动态代理类和目标类是兄弟关系。

15.CGLIB生成的动态代理类继承了目标类,对吗?

对。

16.CGLIB即可以代理有接口的类也可以代理无接口的类,对吗?

对。

17.CGLIB可以代理目标类中的final方法,对吗?

不对。

18.扫包的时候扫哪些包?

加了注解的包

19.如果要在一个方法上加声明式事务,我们可以用哪个注解?

@Tranctional

20.如果用xml配置声明式事务,分哪几个步骤?

(1)配置事务管理器DataSourceTransactionManager

(2)配置切面和事务传播方式

(3)配置切点

21.SqlSessionTemplate是线程安全的吗?

是。

22.spring IOC可以配置抽象类吗?

可以,但是要在标签中加上abstract=true属性

23.spring IOC可以配置接口吗?

不可以。

24.举例说一下什么是切面?什么是切点?什么是通知?

25.AOP通知中,能够获得目标方法输入的参数值吗?如何获取?

26.AOP通知中,通知的执行顺序?

Before()

AfterReturning()

AfterThrowing()

After()

Around()

27、抽象类能被springIOC容器管理吗?能,但是它的价值就是被其他bean继承配置

28、接口能被springIOC容器管理吗?不能

29、final类或者final方法能用cglib代理吗?不能,即是不能切final方法的

30、环绕通知中的proceed()方法能够获得业务方法的返回值,它是通过调用业务方法获得的返回值吗?不是

31.说一下你对MVC模式的理解?

从三层结构上说。。。。

32.springmvc中的中央控制器名字叫什么?

33.在哪里配置springmvc的中央控制器?

34.如何返回json格式的数据?

35.@RequestMapping的作用是什么?

36.springmvc中如何重定向?

return "reidrect:/studentlist";

return "reidrect:/studentlist.jsp";

37.用哪个注解指定格式化的日期?

@DatetimeFormate("yyyy-MM-dd")

38.@PathVariable是做什么用的?

39.@RequestParam是做什么用的?

40.@RequestMapping可以用在类上吗?用在类上起什么作用?

RequestMapping("/user")

RequestMapping("/list")

/user/list

41.什么是Rest风格?举个例子

/user/list/{id}

42.如何获取Rest风格URL中的参数?

43.在spring框架下上传用哪个类可以很方便的实现上传?

44.什么是国际化?

45.说说国际化的步骤?

创建每一个国家创建一个对应的properties文件

springmvc.xml中配置国际化组件

在jsp里面这样用

46.什么是拦截器?

实现了HandlerInterceptor的接口的类就是拦截器,如何使用?

springmvc.xml中配置拦截器,它有3个方法。

47.拦截器需要在xml中配置吗?

48.拦截器的preHandle方法如果返回值为false,后面的拦截器还会执行吗?

49.如果被拦截的方法出现异常,postHandle方法会执行吗?

50.多个拦截器共同拦截同一个url,在没有出现异常preHandle也没有

返回false的情况下,各个拦截器执行的顺序是什么?

52.如何指定一个RequestMapping的请求方式?例如POST或者GET?

53.说一下ModelAndView的作用?

54.什么是视图解析器?

55.在springmvc中,我们可以如何处理异常?

1)mvc.xml中配置异常解析器

2)@HandlerException

56.说一下你知道的mvc组件,越多越好,各个之间的关系

57.拦截器跟过滤器有区别吗?知道哪些区别

58.的作用是什么?

59.Service可以访问Controller吗?在Service中可以注入Controller吗?

60.在Rest风格下js,css,image等无法访问,如何解决?

61.springmvc下的controller是在什么时候被实例化的?

62.容器在一启动的时候就把controller中的requestmapping信息读到内存了么?

63.视图解析器除了解析jsp还能解析其他视图吗?

64.如果一个service实现了接口,我们在controller中注入它时,应该注入接口

还是实现类?

1)如果service中的方法被切。。。

2)如果service中的方法没被切。。。

为了安全起见,任何情况下都注入接口。

65.简述springmvc项目的框架搭建过程?

1)创建项目

2)导入jar包

3)配置web.xml

4)配置mvc.xml,spring.xml

5)创建包

66.简述springmvc的请求、应答过程?

客户端发起请求——DispatcherServlet——HandlerMapping——Controller

——执行Controller方法——ModleAndView——视图解析器

——找到jsp——显示结果

备注:HandlerMapping里面存放着url和controller的映射

67.在请求controller时浏览器报404错误,分析一下可能的原因?

1)controller没扫

2)controller里面的请求路径写错了

3)返回的视图没有在解析器的前缀、后缀中

4)如果是静态资源,可能没有指定映射

68.springmvc能够脱离spring容器单独运行吗?

69.什么是异步?

几个方法可以同时执行,就是异步。几个方法按照先后顺序执行,就是同步。

70.你知道ajax技术吗?它离开了浏览器能运行吗?底层用的是哪个对象?

底层用XMLHttpRequest对象,它有两个作用:第一,发起ajax请求 第二,接收服务器端的返回值。

获取更多资源请关注微信公众号:AKA程序王

spring和springmvc的基础知识点的更多相关文章

  1. Spring整合SpringMVC + Mybatis基础框架的配置文件

    目录 前言 1. Mybatis层编写 2. Spring层编写 1. Spring整合Mybatis 2. Spring整合service 3. SpringMVC层编写 1. 编写web.xml ...

  2. 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)

    一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...

  3. Spring 和SpringMVC 的父子容器关系

      Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而实际使用时,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但是在实际项目中,同时配 ...

  4. Spring与SpringMVC的容器关系分析

    Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而实际使用时,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但是在实际项目中,同时配置S ...

  5. 10分钟详解Spring全家桶7大知识点

    Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...

  6. Java工程师学习指南第3部分:Spring与SpringMVC源码解析

    本文整理了微信公众号[Java技术江湖]发表和转载过的Spring全家桶优质文章,想看到更多Java技术文章,就赶紧关注吧. 前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈? ...

  7. Spring4.x 基础知识点

    # Spring4.x 基础知识点## 第二章 快速入门- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao.user\service.viewspace\dao.views ...

  8. SSM ( Spring 、 SpringMVC 和 Mybatis )配置详解

    使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...

  9. spring、springmvc、mybatis整合笔记

    这段时间上一个项目刚做完,下一个项目还没开始,趁这个时候来认真总结一下上个项目使用的ssm开发框架.由于,项目中关于使用ssm这部分的代码和配置是我们项目的整体架构师一个独立完成的,我们只负责业务部分 ...

随机推荐

  1. js中的this介绍

    今天跟大家一起简单的来了解一下js中一个有趣的东西,this. 在js中我们用面向对象的思想去编写的时候,各个模块之间的变量就不那么容易获取的到了,当然也可以通过闭包的方式拿到其他函数的变量,如果说每 ...

  2. [DP]最长递增子序列

    #include <iostream> #include <limits.h> #include <vector> #include <algorithm&g ...

  3. 【Redis】缓存穿透与缓存雪崩

    一.缓存雪崩 1.1 缓存雪崩产生的原因 1.2 解决方案 1.3 锁的方式 1.4 消息中间件 1.5 一级和二级缓存 1.6 均摊分配redis key 失效时间 二.缓存穿透 一.缓存雪崩 1. ...

  4. VUE中CSS样式穿透

    VUE中CSS样式穿透 1. 问题由来 在做两款H5的APP项目,前期采用微信官方推荐的weui组件库.后来因呈现的效果不理想,组件不丰富,最终项目完成后全部升级采用了有赞开发的vant组件库.同时将 ...

  5. Java ArrayList源码分析(有助于理解数据结构)

    arraylist源码分析 1.数组介绍 数组是数据结构中很基本的结构,很多编程语言都内置数组,类似于数据结构中的线性表 在java中当创建数组时会在内存中划分出一块连续的内存,然后当有数据进入的时候 ...

  6. Linux 中 /proc/meminfo 的含义

    做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注.本文记录一下从网上搜集的/proc/meminfo各参数的含义.还不完整,待补完. 本文地址:https://segmentfault.com/a ...

  7. Vert.x学习之 Web Client

    Vert.x Web Client 原文档 组件源码 组件示例 中英对照表 Pump:泵(平滑流式数据读入内存的机制,防止一次性将大量数据读入内存导致内存溢出) Response Codec:响应编解 ...

  8. [币严BIZZAN区块链]数字货币交易所钱包对接之比特币(BTC)

    在币严BIZZAN开发数字货币交易所的过程中,一共有两大难点,一个是高速撮合交易引擎,另一个是钱包对接,这两者是我们团队以前没有接触过的.这个系列的文章主要介绍数字货币交易所钱包对接实现技术.第一个要 ...

  9. java生成二维码/java解析二维码

    二维码的优缺点 优点:1. 高密度编码,信息容量大:2.编码范围广:3.容错能力强:4.译码可靠性高:5.可引入加密措施:6.成本低,易制作,持久耐用. 缺点:1.二维码技术成为手机病毒.钓鱼网站传播 ...

  10. airflow使用SimpleHttpOperator实现http调用任务

    使用SimpleHttpOperator作为处理器的时候,会发现默认访问的地址www.google.com端口为443 例如下面这样定义的任务 task = SimpleHttpOperator( t ...