JAVA企业面试题精选 Spring 11-14

1.11.Spring提倡面向接口编程,请讲一下你对它的理解,它有什么好处

参考答案:

  在一个面向对象的系统中,系统的各个功能是由许许多多的不同对象协作完成的.在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键.小到不同类之间的通讯,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容.面向接口编程就是指按照这种思想来编程.

1.12.Spring和Web应用整合

参考答案:

  在Web应用程序中,要对Spring的IOC容器(WebApplicationContext)进行初始化,可以通过配置ContextLoadListener监听器实现.具体配置如下:
  1.在web.xml中通过应用上下文初始化参数来指定Spring的配置文件的路径,配置代码如下:

param>
    <param-name>contextConfigLocationparam-name>
    <param-value>classpath:applicationContext-*.xmlparam-value>
param>

  在web.xml中配置ContextLoaderListener监听器,代码如下所示:

<listener>
    <listener-class>
        org.springframework.web.contextContextLoaderListener
    listener-class>
listener>

1.13.说说你对用SSH框架进行开发的理解

参考答案:

  SSH框架指的是Struts,Spring,Hibernate.其中,Struts主要用于流程控制;Spring的控制反转能祈祷解耦合的作用;Hibernate主要用于数据持久化.

1.14.三大框架中高内聚,低耦合是哪个框架实现的?怎么实现的?

参考答案:

  低耦合是通过Spring框架的IOC和AOP实现的.
  将基于实现类的耦合变成基于接口的耦合,可以避免硬编码所造成的过度程序耦合,而接下来需要解决的问题就是,如何确定该接口的实现类.IOC控制反转,就是讲某一接口的具体实现类的控制从调用类中移除,转交给第三方,即Spring容器.
  在业务系统里除了要实现业务功能之外,还要实现如权限拦截,性能监控,事务管理等非业务功能.通常的做法是非业务的diamante穿插在业务代码中,从而导致了业务组件与非业务组件的耦合.AOP面向切面编程,就是将这些分散在各个业务逻辑代码中的非业务代码,通过横向切割的方式抽取到一个独立的模块中,从而实现业务组件与非业务组件的解耦.

你可能感兴趣的:(java面试题)