Spring常问的面试

1、Java中的异常
    非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。
    检查异常(checked exception):除了Error 和 RuntimeException的其它异常。强制要求程序员为这样的异常做预备处理工作
    runtimeException :运行时异常,系统不要求必须处理
        NullPointerException - 空指针引用异常
        ClassCastException - 类型强制转换异常
        IllegalArgumentException - 传递非法参数异常。
        ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
        indexoutofboundsexception - 下标越界异常
        ArithmeticException - 算术运算异常
        NegativeArraySizeException - 创建一个大小为负数的数组错误异常
    IOException:非运行时异常,必须处理
        filesystemexception-文件系统操作失败抛出
        ChangedCharSetException-更改字符集时抛出异常
        CharacterCodingException-发生字符编码或解码错误时抛出异常
        ClosedChannelException-尝试关闭该操作通道上调用I/O操作时抛出异常
        UnkNownHostException-无法确定主机的IP地址
2、Spring的原理
    Spring的工作原理就是让一个对象的创建不用new就可以自动的生产,在运行时通过Spring的配置文件来动态的创建对象和调用对象。
3、简述SpringIOC的执行过程
    加载配置文件-----》根据配置文件创建相应的IOC容器----》实例化bean-------》加载实例化好的bean到IOC容器中去-----》调用bean。
4、bean.xml中的配置顺序会影响对象的创建顺序吗?
    会的,,,,最先配的最先实例化。如果一个beanA的创建需要另一个beanB,这时虽然beanB在beanA的后边,也不影响beanA的创建。
5、如果用XML配置声明式事务,分哪几个步骤
    1.配置事务管理器。DataSourceTransactionManager
    2.配置切面和事务传播方式
    3.配置切点
6、@PathVariable 和 @RequestParam
    两者都是从request中接受请求的,都可以接收参数
    @PathVariable:从URL路径中获取变量,比如URL中:emp/{id}获取id
    @RequestParam:获取参数,比如URL中的:do?pageSize=3获取pageSize=3的
7、用哪个注解格式化日期
    @DatetimeFormate(“yyyy-MM-dd”)
8、Spring的拦截
    实现了handlerinterceptor接口的类或者继承继承handlerinterceptorAdapter类,在Springmvc.xml中配置,
    handlerinterceptor接口中定义了三个方法
    1 )preHandle:将在请求处理之前进行调用,SpringMVC 中的Interceptor 是链式的调用
    2 )postHandle :当前所属的Interceptor 的preHandle 方法的返回值为true 时才能被调用dispatcherServlet 进行视图返回渲染之前被调用
    3 )afterCompletion:该方法也是需要当前对应的Interceptor 的preHandle 方法的返回值为true 时才会执行,方法将在整个请求结束之后,也就是在dispatcherServlet 渲染了对应的视图之后执行。这个方法的主要作用是用于进行资源清理工作的。
9、拦截器和Filter的区别
    Spring的拦截器与Servlet的Filter有相似处,二者都是AOP编程思想的体现,都能实现权限检查。日志记录等,不同的是:
    1.适用范围不同:Filter是Servlet规范规定的,只能使用Web容器中,拦截器既可用于Web程序,亦可以用于其它地方
    2.规范不同,Filter是在Servlet规范定义的,是Servlet容器支持的,拦截器是在spring容器内,Spring框架支持的。
    3.拦截器归Spring管理,Spring里面的资源可以通过IOC注入到拦截器。
10、SpringMVC的几个组件
    1.dispatcherServlet  请求入口
    2.HandlerMapping    请求派发,负责请求和控制器建立一一对应的关系
    3.Controller       处理器
    4.ModelAndView     封装模型信息和视图信息
    5.ViewResolver    视图处理器,定位页面
11、视图解析器除了解析jsp还能解析其他视图吗
    能,InternalResourceViewResolver可以查找jsp,实现org.springframework.web.servlet.view.freemarker中的FreeMarkerViewResolver类可以解析其他视图。必须先配置freemarkerConfig
12、简述SpringMVC项目的框架搭建过程
    创建项目----导入所需要的jar包------配置web.xml----配置mvc.xml,spring.xml---创建类
13、如果一个service实现了接口,我们需要在controller中使用,应该注入接口还是实现类
    注入接口,spring认是JDK动态代理

14、Ajax 的无刷新功能就是利用 XMLHttpRequest 的异步请求来完成的

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念