zoukankan      html  css  js  c++  java
  • 错题

    一,Spring中Bean的作用域

    当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域:

    • singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例

    • prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例

    • request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效

    • session:对于每次HTTP Session,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效

    • globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效

      其中比较常用的是singleton和prototype两种作用域。对于singleton作用域的Bean,每次请求该Bean都将获得相同的实例。容器负责跟踪Bean实例的状态,负责维护Bean实例的生命周期行为;如果一个Bean被设置成prototype作用域,程序每次请求该id的Bean,Spring都会新建一个Bean实例,然后返回给程序。在这种情况下,Spring容器仅仅使用new 关键字创建Bean实例,一旦创建成功,容器不在跟踪实例,也不会维护Bean实例的状态。

      如果不指定Bean的作用域,Spring默认使用singleton作用域。Java在创建Java实例时,需要进行内存申请;销毁实例时,需要完成垃圾回收,这些工作都会导致系统开销的增加。因此,prototype作用域Bean的创建、销毁代价比较大。而singleton作用域的Bean实例一旦创建成功,可以重复使用。因此,除非必要,否则尽量避免将Bean被设置成prototype作用域。

    在SpringMVC中,SpringMVC返回json数据三种方式

      第三种方式:

        是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew

        使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson

        利用spring mvc3的注解@ResponseBody 和 利用spring mvc3的注解@ResponseMapping

    二,mvc处理的过程

    原理图

     

      模型
        模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。

      视图
        视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,其更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。

      控制器
        在MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。

        还可以3个职责:参数校验,异常捕获,业务封装(不是包括具体方业法的实现哈)--2012-2-22

        总之,控制器一定要瘦。

      MVC的处理过程

        MVC的处理过程是:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。
     

    三,InternalResouceViewResolve的父类是 “UrlBeanViewResolve

    四,自动装配默认情况下“on 不使用自动装配

    五,在Spring中,配置Hibernate事务管理器(Hibernate  TransactionManager)时,需要注入的属性名称是“dataSource”

    SpringMVC表单标签的设置 

    taglib指令的prefix属性是可以任意定义的,但SpringMVC表单标签的prefix属性值通常是form

    七,Spring MVC局部异常处理,自定义两个异常:UserException,java和BaseExcption,java,下面异常处理方法handlerException()要处理这两个异常,请补全关键代码()

      @ExceptionHandler(-----------------)

        public String handlerException (UserException e1, request. setAttribute(" e1~, e1) {

        request. setAttribute("e2" ,e2) ;

        return" error ;

        }

      括号里应该填(  value= {UserException. class, BaseException. class}    {UserException. class, BaseException. class }  

    八,在Spring中,配置Hibernate事务管理器(Hibernate Tr ansactionlManager)时,需要注入的属性名称只( dataSource

    使用InternalResourceViewResolver作为视图解析器,需要进行配置:

    <bean class=" org. spr ingfr amework. web. servlet. view. InternalResour ceViewResolver >

    <property name=' prefix" value=' /WEB-INF/jsp/*/>

    <property name= ”suffix" value=".jsp ”/>

    </bean>

    若一个控制类的处理方法返回-一个字符串: return "user /userlist" ;那么通过已配置好的这个视图解析器,解析成真正的视图对象应该是(   /WEB- INF/jsp/user /userlist. jsp   )

    十,在Spr ing中可以使用scope属性来管理be an的作用域,以下选项关于作用域的配置说法错误的是()。

      session作用域:在一个HTTP Session中,一个bean定义对应一个实例global session作用域:在一个全局的HTTP Session中,一个bean定义对应一个实例
  • 相关阅读:
    pthread条件变量
    c++信号处理
    必杀技
    待飞日记(第四天和第五天)
    c++面试题总结(2)
    比起主流的30秒,10秒广告能获得2倍的效果
    c++面试题总结(1)
    待飞日记(第三天)
    static_cast, dynamic_cast, const_cast探讨
    c++一些问题总结
  • 原文地址:https://www.cnblogs.com/rzbwyj/p/11868770.html
Copyright © 2011-2022 走看看