下载此文档

2017全面JAVA面试经历总结.docx


文档分类:管理/人力资源 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
2017JAVA 面试经验问题 0、对 SSH 的理解: SSH 即: Struts (表示层) +Spring (业务层) +Hibernate (持久层) Struts : Struts 是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC 框架中, Struts 属于 VC层次,负责界面表现,负责 MVC 关系的分发。(View :沿用 JSP ,HTTP ,Form ,Tag ,Resourse ;Controller :ActionServlet , struts- ,Action )Hibernate : Hibernate 是一个持久层框架,它只负责与关系数据库的操作。 Spring : Spring 是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。 1、对 Spring 的相关理解 Spring 框架目的是为了让模块与模块(对象与对象)之间的关联不是通过代码来关联而是通过配置来关联。 Spring 的核心是 IOC 与AOP 。 IOC (Inversion ofControl )控制反转是关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。控制反转可以理解为生产和管理 Bean 的容器,原来需要在调用类中 New 的东西,现在都有 IOC 容器产生。 IOC 的三种注入方式: inject 1、根据属性注入也就是 Set 方法注入 2、根据构造方法注入 3、根据注解注入 IOC 最大的好处是什么?因为把对象生成放在了 XML 里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接口的),只要修改 XML 就可以了,这样我们甚至可以实现对象的热插拔(有点像 USB 接口和 SCSI 硬盘了)。 DI 依赖注入: Dependency injection 依赖注入是一个 IOC 的特殊实现,依赖注入是指一个对象应用另外一个对象来提供一个特殊的能力,例如:把一个数据库连接以参数的形式传到一个对象的结构方法里面而不是在那个对象内部自行创建一个连接。控制反转和依赖注入的基本思想就是把类的依赖从类内部转化到外部以减少依赖。 AOP (Aspect Oriented Programming) :针对一个切面来编程。 AOP 面向切面编程将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面, 然后注入到目标对象(具体业务逻辑)中去。面向切面编程通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. AOP 可以理解为实现调用某个方法之前或者之后,自动执行一系列自定义的语句(例如:每做一次数据库操作都要生成一句日志)。实现 AOP 功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明, 一是实现相同的接口,二是作为目标的子类在, JDK 中采用 Prox 类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用 CGLB 。 AOP 的主要作用是:日志记录,性能统计,安全控制,事务处理,异常处理等等 AOP 与 OOP 的区别: OOP (面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。举个简单的例子,对于“雇员”这样一个业务实体进行封装,自然是 OOP/OO D 的任务,我们可以为其建立一个“Employee ”类,并将“雇员”相关的属性和行为封装其中。而用 AOP 设计思想对“雇员”进行封装将无从谈起。同样,对于“权限检查”这一动作片断进行划分,则是 AOP 的目标领域。而通过 OOD/OOP 对一个动作进行封装,则有点不伦不类。换而言之, OOD/OOP 面向名词领域, AOP 面向动词领域。 常用注解 1、***@Controller 用于标注控制层组件(如 struts 中的 action ),负责注册一个 bean 到 spring 上下文中, bean 的ID默认为类名称开头字母小写。例如: ***@Controller public class UserAction extends BaseAction{} ?或者***@Controller(" userAction") 使用***@Controller 注解标识 UserAction 之后,就表示要把 UserAction 交给 Spring 容器管理,在 Spring 容器中会存在一个名字为"userAction" 的action , 这个名字是根据 UserAction 类名来取的。 2、***@Service ***@Service 对应的是业务层 Bean ,例如: ***@Service("userService")

2017全面JAVA面试经历总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小240 KB
  • 时间2017-05-28
最近更新