关于Spring的一些面试问题

1、 什么是spring\springmvc?二者异同点?

Spring是针对JavaSE/JavaEE的一站式轻量级开源框架,主要应用于java开发。
Springmvc是一个类似Struts的mvc框架,隶属于spring,需要spring工具包的支持。

2、 为什么使用spring?(spring的作用)

1.降低耦合度(IOC)
2.增强内聚性(AOP)
3.轻量级,占用资源较少
4.兼容性好,能与其他优秀框架,Struts,hibernate,mybatis
5.非侵入式,spring应用中的对象不依赖spring中的特定类
6.方便测试,spring支持JUnit4,可通过注解进行测试
7.声明式事务的支持,只需通过配置就能完成对事务的管理,无需手动编程

3、 对spring的个人理解

举一个列子:要生产一个高30cm手持枪械有胳膊有腿的塑料小人,传统方法是先生产模型,之后一点点浇筑成型,虽然能够达到要求但可操作性不好,过程繁琐;如果换一种方法,让设计师将小人拆解成一个个零件(各个对象),在图纸上确定如何拼接(xml文件),告诉他我需要一个头,一个身体和一把枪,我们可以先把一部分零件拼成头部,一部分零件拼成身体,最后在合到一起即可,不需要像浇筑那样,从下至上一步步依赖(DI&IOC)。如果日后发生新的需求,比如要求手里拿的是剑不是枪,传统方法就只能重新做,而如今我可在制作的时候就身上留下可拆卸可扩展的节点,只需要将拿剑的地方加上一把剑即可,不影响小人本身(AOP)

4、 什么是bean?

Bean就是spring配置时的根元素.

5、 讲解一下AOP?

所谓aop就是面向对象编程OOP的延伸,面向切面编程,其核心有以下几点:
1、横切关注点:即我们要在什么地方做拦截,拦截之后要做什么
2、切面:即横切关注点的对象
3、连接点:Spring中连接点即被拦截的方法(整个方法定义为连接点)
4、切入点:pointCut,连接点对于拦截的定义(调用此方法触发拦截的行为)
5、通知:即拦截到连接点之后要执行的代码,分为前置、后置、异常、最- 终、环绕
6、目标对象:代理的目标对象
7、织入:将切面应用到目标对象并导致代理创建对象的过程
8、引入:在不修改代码的情况下,引入可以为运行期的类动态地添加一些方法和Field

6、 DI依赖注入的过程?

1.加载xml文件
2.使用SAX解析获取xml根节点,读取每一个元素及其下属子元素.
3.根据2获取的元素,读取classname使用反射机制和newinstance方法实例化所有bean
4.判断所有元素是否有注入属性,获取被注入的bean的所有属性,被注入bean的ref值与注入bean的name值相同就获取被注入bean的set方法(getWriteMethod),获取private权限(setAccessible(true)),之后使用反射机制向被注入bean中注入bean属性。

7、 对bean的理解?

8、 Spring中获取bean的方式?

9、 Bean的生命周期?\servlet的生命周期?

1.实例化对象
2.封装属性
3.SetBeanName
4.设置工厂或者上下文对象
5.执行前处理bean
6.执行属性配置后操作
7.执行后处理bean方法
8.执行指定实例化操作
9.执行业务处理
10.销毁
11.执行指定销毁方法

10、 Spring的核心是什么?

IOC,AOP,DI
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值