一、什么是Spring框架?
Spring框架是一个开放源代码的应用程序框架,是针对bean的生命周期进行管理的轻量级容器,并提供了功能强大IOC、AOP及Web MVC等功能。
二、什么是Spring Bean容器?
用于创建Bean对象,管理Bean对象的容器。
三、Spring IOC如何理解?
IOC是控制反转,Spring中的一种机制。目的是将我们项目中对象的依赖管理交给Spring来实现,这样可以让对象关系更好的解耦,提高程序的可扩展性。
四、Spring Bean容器与Spring IOC 容器有什么不同吗?
Spring IOC容器本质上就是一个Spring Bean容器,Spring Bean容器的核心是IOC机制。所以,也将Spring Bean容器称之为Spring IOC容器。
五、Spring DI如何理解?
DI是依赖注入,Spring中的一种机制。IOC机制的实现需要借助于DI机制来实现。
六、Spring中基于注解如何配置对象作用域?
1、@Scope(“singleton”),作用域设置成singleton,Spring IOC容器中只会存在一个共享bean实例,只要请求时的id与我们定义的bean定义相同,则返回的是同一个bean实例。
2、@Scope(“prototype”),作用域设置成prototype,每次请求都会产生一个新的bean实例,相当于new的操作。
七、Spring中基于注解如何配置延迟加载机制?
@Lazy(value=true),value设置成true表示使用延迟加载机制。
八、Spring工厂底层构建Bean对象借助什么机制?
借助反射机制
九、当创建的对象不使用了要释放资源,其目的是什么?
防止内存泄漏
十、什么是内存泄漏?
创建的对象已经不使用了,但没有释放资源,占用着内存,这种现象称之为内存泄漏。内存泄漏是内存溢出的一个导火索,内存溢出直接就导致系统崩溃。
十一、描述Spring MVC处理流程及应用优势?
1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配到前端控制器DispatcherServlet的请求映射路径,web服务器将请求转交给前端控制器DispatcherServlet;
2、前端控制器DispatcherServlet接受到这个请求之后,将根据请求的信息以及处理器映射器HandlerMapping中的配置找到处理请求的处理器Handler;
3、有具体的处理器适配器HandlerAdapter对处理器Handler进行具体的调用;
4、处理器Handler对数据处理完成后,将返回一个ModelAndView()对象给前端控制器DispatcherServlet;
5、前端控制器DispatcherServlet通过视图解析器ViewResolver将ModelAndView()对象转化成真正的视图View;
6、前端控制器DispatcherServlet通过Model接口解析出ModelAndView()对象中的参数进行解析,最终展现出完整的视图View并返回给客户端。
十二、MyBatis应用中#与$有什么异同点?
相同点:都是通过get来获取值的。
不同点:$传进去的字符串不带引号,#传进去的字符串带引号。
十三、MyBatis应用动态SQL解决机制了什么问题?
为了实现在多种查询中任意组合作为查询条件,传统的方式在用jdbc的时候需要判断参数为空,并且自己组装SQL。而MyBatis提供的动态SQL机制,依赖标签直接实现。