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程序王