Spring 试题 --------------------------------------------------------------------------------
以下是已添加到数据库中的考题:
1. Spring作为一个轻量级容器,提供了对 [c] 的生命周期管理。
A. EJB
B. Servlet
C. JavaBean
D. Jsp
2. Spring框架提供的特性包括 [a] 。
A. 依赖注入
B. 非J2EE下的声明式编程
C. 简化对Hibernate的使用
D. 提供了和EJB完全相同的事务处理 //Spring声明式事务管理
IoC:Inversion of Control控制反转
DI:Dependency Injection依赖注入
AOP:Aspect Oriented Programing
3. 依赖注入有三种实现方式,分别包括 [abc] 。
A. Interface Based
B. Constructor Based
C. Setter Based
4. Autowiring提供了以下哪几种方式 [abc] 。
A. byName
B. byType
C. constructor
D. autodect
5. Spring提供的Bean的作用域包括 [abcd] 。
A. Singlegton
B. prototype
C. request
D. session
6. 当具有引用关系的Bean之间的生命周期不同时,可以使用哪几种方式处理 [c] 。
A. BeanFactoryAware
B. Lookup方法注入
C. 自创建对象
7. 关于PropertyPlaceholderConfigure 的使用,说法正确的是 [ac] 。
A. 可以将xml文件中的一些属性放到另一个单独的标准Java Properties文件中
B. 若在单独的Properties文件中写入了加密的数据,将无法正确注入加密的数据
C. 若在单独的Properties文件中写入了加密的数据,可以通过覆盖该类的方法来完成解密并将数据正确注入
其中PropertiesLoaderSupport类有一个重要的protected void loadProperties(Properties props)方法,查看它的注释,可以知道该方法的作用是将PropertyPlaceholderConfigurer 中locations属性所定义的属性文件的内容读取到props入参对象中。这个方法比较怪,Java很少通过入参承载返回值,但这个方法就是这样。 所以,我们只要简单地重载这个方法,在将资源文件的内容转换为Properties之前,添加一个解密的步骤就可以了。但是, PropertiesLoaderSupport的设计有一个很让人遗憾的地方,它的locations属性是private的,只提供setter没有 提供getter。因此,无法在子类中获取PropertiesLoaderSupport中的locations(资源地址),所以我们得在子类重新定 义locations属性并覆盖PropertiesLoaderSupport中的setLocations()方法。
8. AOP可提供下列哪些方面的编程模块 [abc] 。
A. Transaction
B. Security
C. Logging
D. Auditing //审核
9. 关于代理模式说法正确的是 [ac]
A. 代理类和被代理类实现同一个接口
B. 代理类需要直接调用被代理类
C. AOP使用了代理模式
D. 代理模式和委托模式可一起使用
10. 关于CGLIB,下列说法正确的是 [ac] 。
A. 在Hibernate中必须使用CGLIB
B. 在Spring中,若目标类没有实现任何接口,则通过CGLIB实现AOP
C. 在Spring中,若目标类没有实现任何接口,则通过动态代理实现AOP
D. CGLIB能为目标类生成子类
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
cglib主要是基于实现类扩展一个子类 来实现
动态代理:通过实现java.lang.reflect.InvocationHandler接口提供一个执行处理器,然后通过java.lang.reflect.Proxy得到一个代理对象,通过这个代理对象来执行商业方法,在商业方法被调用的同时,执行处理器会被自动调用。
11. 下列属于Spring的通知类型的为 [abd] 。
A. MethodBeforeAdvice
B. ThrowsAdvice
C. MethodAfterAdvice
D. AfterReturningAdvice
12. 下列能自动为上下文中定义的所有的Bean生成代理的类为: [c] 。
A. ProxyFactoryBean
B. BeanNameAutoProxyCreator
C. DefaultAdvisorAutoProxyCreator
BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。
一个更加通用而且强大得多的自动代理创建器是DefaultAdvisorAutoProxyCreator。它自动应用当前上下文中适当的advisor,无需在自动代理advisor的bean定义中包括bean的名字。 比起BeanNameAutoProxyCreator,它提供了同样关于一致性配置的优点而避免了前者的重复性。
13. 关于事务,下列说法正确的是 [acd] 。
A. 在J2EE中,有两个事务的选择:全局事务和本地事务
B. 全局事务和本地事务都可以由程序员完全自己编程实现
C. 全局事务由应用服务器管理,使用JTA
D. 全局事务可用于多个事务性的资源
E. 使用JDBC连接事务管理的代码不能用于全局事务中
全局事务 - 资源管理器管理和协调的事务,可以跨越多个数据库和进程。资源管理器一般使用 XA 二阶段提交协议与“企业信息系统”(EIS) 或数据库进行交互。
本地事务 - 在单个 EIS 或数据库的本地并且限制在单个进程内的事务。本地事务不涉及多个数据来源。
全局事务由应用服务器管理,使用JTA。局部事务是和资源相关的,比如一个和JDBC连接关联的事务。使用局部事务,应用服务器不需要参与事务管理,并且不能帮助确保跨越多个资源(需要指出的是多数应用使用单一事务性的资源)的事务的正确性。
14. 通过Spring,可以使用声明式事务。其中关于事务回滚说明正确的是 [a] 。
A. Spring框架的事务基础架构代码默认的只在抛出运行时异常时标识事务回滚
B. Spring框架的事务基础架构代码默认的抛出任何异常都标识事务回滚
C. 通过配置XML文件,可以指定当抛出一个checked exception时事务回滚 Spring中对异常回滚,默认是在抛出运行时异常时才回滚,对非运行时异常无回滚。使用-Exception,意思是对所有的异常(运行时,非运行时)异常都回滚 15. 若Hibernate的Session出现了Spring中的HibernateTemplate中没有的方法,则 [b] 。
A. 无法使用Spring的HibernateTemplate了
B. 可以使用HibernateTemplate的回调方法
//HibernateTemplate有excute方法,需要参数HibernateCallback,有一个doHibernate方法,传入Session,这样就可以调用Session的其他方法。
16. 在Spring事务的传播性中,一个方法调用另外一个方法。若两个方法需要运行在不同的事务中,可使用哪个事务的传播属性 [c] 。
A. Required
B. RequriesNew
C. Nested
D. Never
PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
17. [b] 是Spring MVC框架的核心控制类。
A. ActionServlet
B. DispatcherServlet
18. 要将Struts和Spring集成,可以使用下列哪几种方式 [abc] 。
A. 使用ContextLoaderPlugin,配置DelegatingRequestProcessor
B. 使用ContextLoaderPlugin,配置DelegatingActionProxy
C. 使用ActionSupport
D. 在Action中自己创建JavaBean的对象,并调用方法
19. 关于Spring MVC的视图解析,下列说法正确的是 [a] 。
A. 可以将jsp放在WEB-INF的指定目录下 // InternalResourceViewResolver
B. 不能将jsp放在WEB-INF的任何目录下
C. UrlBasedViewResolver可以将视图名解释成URL,并将请求传递给RequestDispatcher来显示视图
20. 若有和任何Web无关的上下文,可以使用 [c] 来读取。
A. RequestDispatcher //Web资源包装器
B. ContextLoaderListener //web应用启动时初始化WebApplicationContext
C. OpenSessionInViewFilter //Servlet2.3过滤器,用来把一个HibernateSession和一次完整请求过程绑定
以下是已添加到数据库中的考题:
1. Spring作为一个轻量级容器,提供了对 [c] 的生命周期管理。
A. EJB
B. Servlet
C. JavaBean
D. Jsp
2. Spring框架提供的特性包括 [a] 。
A. 依赖注入
B. 非J2EE下的声明式编程
C. 简化对Hibernate的使用
D. 提供了和EJB完全相同的事务处理 //Spring声明式事务管理
IoC:Inversion of Control控制反转
DI:Dependency Injection依赖注入
AOP:Aspect Oriented Programing
3. 依赖注入有三种实现方式,分别包括 [abc] 。
A. Interface Based
B. Constructor Based
C. Setter Based
4. Autowiring提供了以下哪几种方式 [abc] 。
A. byName
B. byType
C. constructor
D. autodect
5. Spring提供的Bean的作用域包括 [abcd] 。
A. Singlegton
B. prototype
C. request
D. session
6. 当具有引用关系的Bean之间的生命周期不同时,可以使用哪几种方式处理 [c] 。
A. BeanFactoryAware
B. Lookup方法注入
C. 自创建对象
7. 关于PropertyPlaceholderConfigure 的使用,说法正确的是 [ac] 。
A. 可以将xml文件中的一些属性放到另一个单独的标准Java Properties文件中
B. 若在单独的Properties文件中写入了加密的数据,将无法正确注入加密的数据
C. 若在单独的Properties文件中写入了加密的数据,可以通过覆盖该类的方法来完成解密并将数据正确注入
其中PropertiesLoaderSupport类有一个重要的protected void loadProperties(Properties props)方法,查看它的注释,可以知道该方法的作用是将PropertyPlaceholderConfigurer 中locations属性所定义的属性文件的内容读取到props入参对象中。这个方法比较怪,Java很少通过入参承载返回值,但这个方法就是这样。 所以,我们只要简单地重载这个方法,在将资源文件的内容转换为Properties之前,添加一个解密的步骤就可以了。但是, PropertiesLoaderSupport的设计有一个很让人遗憾的地方,它的locations属性是private的,只提供setter没有 提供getter。因此,无法在子类中获取PropertiesLoaderSupport中的locations(资源地址),所以我们得在子类重新定 义locations属性并覆盖PropertiesLoaderSupport中的setLocations()方法。
8. AOP可提供下列哪些方面的编程模块 [abc] 。
A. Transaction
B. Security
C. Logging
D. Auditing //审核
9. 关于代理模式说法正确的是 [ac]
A. 代理类和被代理类实现同一个接口
B. 代理类需要直接调用被代理类
C. AOP使用了代理模式
D. 代理模式和委托模式可一起使用
10. 关于CGLIB,下列说法正确的是 [ac] 。
A. 在Hibernate中必须使用CGLIB
B. 在Spring中,若目标类没有实现任何接口,则通过CGLIB实现AOP
C. 在Spring中,若目标类没有实现任何接口,则通过动态代理实现AOP
D. CGLIB能为目标类生成子类
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
cglib主要是基于实现类扩展一个子类 来实现
动态代理:通过实现java.lang.reflect.InvocationHandler接口提供一个执行处理器,然后通过java.lang.reflect.Proxy得到一个代理对象,通过这个代理对象来执行商业方法,在商业方法被调用的同时,执行处理器会被自动调用。
11. 下列属于Spring的通知类型的为 [abd] 。
A. MethodBeforeAdvice
B. ThrowsAdvice
C. MethodAfterAdvice
D. AfterReturningAdvice
12. 下列能自动为上下文中定义的所有的Bean生成代理的类为: [c] 。
A. ProxyFactoryBean
B. BeanNameAutoProxyCreator
C. DefaultAdvisorAutoProxyCreator
BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。
一个更加通用而且强大得多的自动代理创建器是DefaultAdvisorAutoProxyCreator。它自动应用当前上下文中适当的advisor,无需在自动代理advisor的bean定义中包括bean的名字。 比起BeanNameAutoProxyCreator,它提供了同样关于一致性配置的优点而避免了前者的重复性。
13. 关于事务,下列说法正确的是 [acd] 。
A. 在J2EE中,有两个事务的选择:全局事务和本地事务
B. 全局事务和本地事务都可以由程序员完全自己编程实现
C. 全局事务由应用服务器管理,使用JTA
D. 全局事务可用于多个事务性的资源
E. 使用JDBC连接事务管理的代码不能用于全局事务中
全局事务 - 资源管理器管理和协调的事务,可以跨越多个数据库和进程。资源管理器一般使用 XA 二阶段提交协议与“企业信息系统”(EIS) 或数据库进行交互。
本地事务 - 在单个 EIS 或数据库的本地并且限制在单个进程内的事务。本地事务不涉及多个数据来源。
全局事务由应用服务器管理,使用JTA。局部事务是和资源相关的,比如一个和JDBC连接关联的事务。使用局部事务,应用服务器不需要参与事务管理,并且不能帮助确保跨越多个资源(需要指出的是多数应用使用单一事务性的资源)的事务的正确性。
14. 通过Spring,可以使用声明式事务。其中关于事务回滚说明正确的是 [a] 。
A. Spring框架的事务基础架构代码默认的只在抛出运行时异常时标识事务回滚
B. Spring框架的事务基础架构代码默认的抛出任何异常都标识事务回滚
C. 通过配置XML文件,可以指定当抛出一个checked exception时事务回滚 Spring中对异常回滚,默认是在抛出运行时异常时才回滚,对非运行时异常无回滚。使用-Exception,意思是对所有的异常(运行时,非运行时)异常都回滚 15. 若Hibernate的Session出现了Spring中的HibernateTemplate中没有的方法,则 [b] 。
A. 无法使用Spring的HibernateTemplate了
B. 可以使用HibernateTemplate的回调方法
//HibernateTemplate有excute方法,需要参数HibernateCallback,有一个doHibernate方法,传入Session,这样就可以调用Session的其他方法。
16. 在Spring事务的传播性中,一个方法调用另外一个方法。若两个方法需要运行在不同的事务中,可使用哪个事务的传播属性 [c] 。
A. Required
B. RequriesNew
C. Nested
D. Never
PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
17. [b] 是Spring MVC框架的核心控制类。
A. ActionServlet
B. DispatcherServlet
18. 要将Struts和Spring集成,可以使用下列哪几种方式 [abc] 。
A. 使用ContextLoaderPlugin,配置DelegatingRequestProcessor
B. 使用ContextLoaderPlugin,配置DelegatingActionProxy
C. 使用ActionSupport
D. 在Action中自己创建JavaBean的对象,并调用方法
19. 关于Spring MVC的视图解析,下列说法正确的是 [a] 。
A. 可以将jsp放在WEB-INF的指定目录下 // InternalResourceViewResolver
B. 不能将jsp放在WEB-INF的任何目录下
C. UrlBasedViewResolver可以将视图名解释成URL,并将请求传递给RequestDispatcher来显示视图
20. 若有和任何Web无关的上下文,可以使用 [c] 来读取。
A. RequestDispatcher //Web资源包装器
B. ContextLoaderListener //web应用启动时初始化WebApplicationContext
C. OpenSessionInViewFilter //Servlet2.3过滤器,用来把一个HibernateSession和一次完整请求过程绑定
解决方案 »
- jquery ajax方法在ie中有问题
- Java中readLine方法如何忽略行中的回车符\r
- java.util.Date cannot be cast to java.sql.Date如何解决?
- Java B/S应用程序怎么做License?有经验者请进来看一下
- 如何在axis上部署多个服务,求部署文件,wsdd
- spring配置文件 写代码没有提示。help!
- 关于解析XML问题
- 请帮帮我吧,在Eclipse下开发applet遇到的问题
- 关于xml中的dtd声明
- 缺包问题 在编译程序的时候提示:package XX does not exist
- 我需要写个程序来监视一个数据库中所有表所有记录的变动情况,请给点思路
- 求wap建站可用的开源项目
A. Interface Based
B. Constructor Based
C. Setter Based
这个题目很有意思。
A. 依赖注入
B. 非J2EE下的声明式编程
C. 简化对Hibernate的使用
D. 提供了和EJB完全相同的事务处理 //Spring声明式事务管理
IoC:Inversion of Control控制反转
DI:Dependency Injection依赖注入
AOP:Aspect Oriented Programing 这个应该是ABC
A. EJB
B. Servlet
C. JavaBean
D. Jsp
2. Spring框架提供的特性包括 [a] 。
A. 依赖注入
B. 非J2EE下的声明式编程
C. 简化对Hibernate的使用
D. 提供了和EJB完全相同的事务处理 //Spring声明式事务管理
IoC:Inversion of Control控制反转
DI:Dependency Injection依赖注入
AOP:Aspect Oriented Programing
3. 依赖注入有三种实现方式,分别包括 [bc] 。
A. Interface Based
B. Constructor Based
C. Setter Based
4. Autowiring提供了以下哪几种方式 [abd] 。
A. byName
B. byType
C. constructor
D. autodect
5. Spring提供的Bean的作用域包括 [cd] 。
A. Singlegton
B. prototype
C. request
D. session
6. 当具有引用关系的Bean之间的生命周期不同时,可以使用哪几种方式处理 [b] 。
A. BeanFactoryAware
B. Lookup方法注入
C. 自创建对象
7. 关于PropertyPlaceholderConfigure 的使用,说法正确的是 [不会] 。
A. 可以将xml文件中的一些属性放到另一个单独的标准Java Properties文件中
B. 若在单独的Properties文件中写入了加密的数据,将无法正确注入加密的数据
C. 若在单独的Properties文件中写入了加密的数据,可以通过覆盖该类的方法来完成解密并将数据正确注入
其中PropertiesLoaderSupport类有一个重要的protected void loadProperties(Properties props)方法,查看它的注释,可以知道该方法的作用是将PropertyPlaceholderConfigurer 中locations属性所定义的属性文件的内容读取到props入参对象中。这个方法比较怪,Java很少通过入参承载返回值,但这个方法就是这样。 所以,我们只要简单地重载这个方法,在将资源文件的内容转换为Properties之前,添加一个解密的步骤就可以了。但是, PropertiesLoaderSupport的设计有一个很让人遗憾的地方,它的locations属性是private的,只提供setter没有 提供getter。因此,无法在子类中获取PropertiesLoaderSupport中的locations(资源地址),所以我们得在子类重新定 义locations属性并覆盖PropertiesLoaderSupport中的setLocations()方法。
8. AOP可提供下列哪些方面的编程模块 [abc] 。
A. Transaction
B. Security
C. Logging
D. Auditing //审核
9. 关于代理模式说法正确的是 [ac]
A. 代理类和被代理类实现同一个接口
B. 代理类需要直接调用被代理类
C. AOP使用了代理模式
D. 代理模式和委托模式可一起使用
10. 关于CGLIB,下列说法正确的是 [不会] 。
A. 在Hibernate中必须使用CGLIB
B. 在Spring中,若目标类没有实现任何接口,则通过CGLIB实现AOP
C. 在Spring中,若目标类没有实现任何接口,则通过动态代理实现AOP
D. CGLIB能为目标类生成子类
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
cglib主要是基于实现类扩展一个子类 来实现
动态代理:通过实现java.lang.reflect.InvocationHandler接口提供一个执行处理器,然后通过java.lang.reflect.Proxy得到一个代理对象,通过这个代理对象来执行商业方法,在商业方法被调用的同时,执行处理器会被自动调用。
11. 下列属于Spring的通知类型的为 [abcd] 。
A. MethodBeforeAdvice
B. ThrowsAdvice
C. MethodAfterAdvice
D. AfterReturningAdvice
12. 下列能自动为上下文中定义的所有的Bean生成代理的类为: [不会] 。
A. ProxyFactoryBean
B. BeanNameAutoProxyCreator
C. DefaultAdvisorAutoProxyCreator
BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。
一个更加通用而且强大得多的自动代理创建器是DefaultAdvisorAutoProxyCreator。它自动应用当前上下文中适当的advisor,无需在自动代理advisor的bean定义中包括bean的名字。 比起BeanNameAutoProxyCreator,它提供了同样关于一致性配置的优点而避免了前者的重复性。
13. 关于事务,下列说法正确的是 [不会] 。
A. 在J2EE中,有两个事务的选择:全局事务和本地事务
B. 全局事务和本地事务都可以由程序员完全自己编程实现
C. 全局事务由应用服务器管理,使用JTA
D. 全局事务可用于多个事务性的资源
E. 使用JDBC连接事务管理的代码不能用于全局事务中
全局事务 - 资源管理器管理和协调的事务,可以跨越多个数据库和进程。资源管理器一般使用 XA 二阶段提交协议与“企业信息系统”(EIS) 或数据库进行交互。
本地事务 - 在单个 EIS 或数据库的本地并且限制在单个进程内的事务。本地事务不涉及多个数据来源。
全局事务由应用服务器管理,使用JTA。局部事务是和资源相关的,比如一个和JDBC连接关联的事务。使用局部事务,应用服务器不需要参与事务管理,并且不能帮助确保跨越多个资源(需要指出的是多数应用使用单一事务性的资源)的事务的正确性。
14. 通过Spring,可以使用声明式事务。其中关于事务回滚说明正确的是 [a] 。
A. Spring框架的事务基础架构代码默认的只在抛出运行时异常时标识事务回滚
B. Spring框架的事务基础架构代码默认的抛出任何异常都标识事务回滚
C. 通过配置XML文件,可以指定当抛出一个checked exception时事务回滚 Spring中对异常回滚,默认是在抛出运行时异常时才回滚,对非运行时异常无回滚。使用-Exception,意思是对所有的异常(运行时,非运行时)异常都回滚 15. 若Hibernate的Session出现了Spring中的HibernateTemplate中没有的方法,则 [b] 。
A. 无法使用Spring的HibernateTemplate了
B. 可以使用HibernateTemplate的回调方法
//HibernateTemplate有excute方法,需要参数HibernateCallback,有一个doHibernate方法,传入Session,这样就可以调用Session的其他方法。
16. 在Spring事务的传播性中,一个方法调用另外一个方法。若两个方法需要运行在不同的事务中,可使用哪个事务的传播属性 [b] 。
A. Required
B. RequriesNew
C. Nested
D. Never
PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
17. [b] 是Spring MVC框架的核心控制类。
A. ActionServlet
B. DispatcherServlet
18. 要将Struts和Spring集成,可以使用下列哪几种方式 [??] 。
A. 使用ContextLoaderPlugin,配置DelegatingRequestProcessor
B. 使用ContextLoaderPlugin,配置DelegatingActionProxy
C. 使用ActionSupport
D. 在Action中自己创建JavaBean的对象,并调用方法
19. 关于Spring MVC的视图解析,下列说法正确的是 [a] 。
A. 可以将jsp放在WEB-INF的指定目录下 // InternalResourceViewResolver
B. 不能将jsp放在WEB-INF的任何目录下
C. UrlBasedViewResolver可以将视图名解释成URL,并将请求传递给RequestDispatcher来显示视图
20. 若有和任何Web无关的上下文,可以使用 [不会] 来读取。
A. RequestDispatcher //Web资源包装器
B. ContextLoaderListener //web应用启动时初始化WebApplicationContext
C. OpenSessionInViewFilter //Servlet2.3过滤器,用来把一个HibernateSession和一次完整请求过程绑定
3题应该有a
4题d应该是autodetect
5题应该都包括
6题为什么选B
9题为什么那样选
16题为什么选b
关键是19,20 我一点也不肯定
一下是我自己稍微修改后的答案,请大家帮忙再看看哪里有问题,最好回答时能写上选的原因,谢谢!
Spring 试题 --------------------------------------------------------------------------------
以下是已添加到数据库中的考题:
1. Spring作为一个轻量级容器,提供了对 [c] 的生命周期管理。
A. EJB
B. Servlet
C. JavaBean
D. Jsp
2. Spring框架提供的特性包括 [a] 。
A. 依赖注入
B. 非J2EE下的声明式编程
C. 简化对Hibernate的使用
D. 提供了和EJB完全相同的事务处理 //Spring声明式事务管理
IoC:Inversion of Control控制反转
DI:Dependency Injection依赖注入
AOP:Aspect Oriented Programing
3. 依赖注入有三种实现方式,分别包括 [abc] 。
A. Interface Based 接口注入
B. Constructor Based 构造注入
C. Setter Based Set注入
4. Autowiring提供了以下哪几种方式 [abc] 。
A. byName
B. byType
C. constructor
D. autodect 应该是autodetect
5. Spring提供的Bean的作用域包括 [abcd] 。
A. Singlegton
B. prototype
C. request
D. session
6. 当具有引用关系的Bean之间的生命周期不同时,可以使用哪几种方式处理 [c] 。
A. BeanFactoryAware
B. Lookup方法注入
C. 自创建对象
7. 关于PropertyPlaceholderConfigure 的使用,说法正确的是 [c] 。
A. 可以将xml文件中的一些属性放到另一个单独的标准Java Properties文件中
B. 若在单独的Properties文件中写入了加密的数据,将无法正确注入加密的数据
C. 若在单独的Properties文件中写入了加密的数据,可以通过覆盖该类的方法来完成解密并将数据正确注入
其中PropertiesLoaderSupport类有一个重要的protected void loadProperties(Properties props)方法,查看它的注释,可以知道该方法的作用是将PropertyPlaceholderConfigurer 中locations属性所定义的属性文件的内容读取到props入参对象中。这个方法比较怪,Java很少通过入参承载返回值,但这个方法就是这样。 所以,我们只要简单地重载这个方法,在将资源文件的内容转换为Properties之前,添加一个解密的步骤就可以了。但是, PropertiesLoaderSupport的设计有一个很让人遗憾的地方,它的locations属性是private的,只提供setter没有 提供getter。因此,无法在子类中获取PropertiesLoaderSupport中的locations(资源地址),所以我们得在子类重新定 义locations属性并覆盖PropertiesLoaderSupport中的setLocations()方法。
8. AOP可提供下列哪些方面的编程模块 [abc] 。
A. Transaction
B. Security
C. Logging
D. Auditing //审核
9. 关于代理模式说法正确的是 [cd]
A. 代理类和被代理类实现同一个接口
B. 代理类需要直接调用被代理类
C. AOP使用了代理模式
D. 代理模式和委托模式可一起使用
10. 关于CGLIB,下列说法正确的是 [bd] 。
A. 在Hibernate中必须使用CGLIB
B. 在Spring中,若目标类没有实现任何接口,则通过CGLIB实现AOP
C. 在Spring中,若目标类没有实现任何接口,则通过动态代理实现AOP
D. CGLIB能为目标类生成子类
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
cglib主要是基于实现类扩展一个子类 来实现
动态代理:通过实现java.lang.reflect.InvocationHandler接口提供一个执行处理器,然后通过java.lang.reflect.Proxy得到一个代理对象,通过这个代理对象来执行商业方法,在商业方法被调用的同时,执行处理器会被自动调用。
11. 下列属于Spring的通知类型的为 [abd] 。
A. MethodBeforeAdvice
B. ThrowsAdvice
C. MethodAfterAdvice
D. AfterReturningAdvice MethodInterceptor
MethodBeforeAdvice
AfterReturningAdvice
ThrowsAdvice
IntroductionAdvisor和IntroductionInterceptor
12. 下列能自动为上下文中定义的所有的Bean生成代理的类为: [c] 。
A. ProxyFactoryBean
B. BeanNameAutoProxyCreator
C. DefaultAdvisorAutoProxyCreator
BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。
一个更加通用而且强大得多的自动代理创建器是DefaultAdvisorAutoProxyCreator。它自动应用当前上下文中适当的advisor,无需在自动代理advisor的bean定义中包括bean的名字。 比起BeanNameAutoProxyCreator,它提供了同样关于一致性配置的优点而避免了前者的重复性。
13. 关于事务,下列说法正确的是 [acd] 。
A. 在J2EE中,有两个事务的选择:全局事务和本地事务
B. 全局事务和本地事务都可以由程序员完全自己编程实现
C. 全局事务由应用服务器管理,使用JTA
D. 全局事务可用于多个事务性的资源
E. 使用JDBC连接事务管理的代码不能用于全局事务中
全局事务 - 资源管理器管理和协调的事务,可以跨越多个数据库和进程。资源管理器一般使用 XA 二阶段提交协议与“企业信息系统”(EIS) 或数据库进行交互。
本地事务 - 在单个 EIS 或数据库的本地并且限制在单个进程内的事务。本地事务不涉及多个数据来源。
全局事务由应用服务器管理,使用JTA。局部事务是和资源相关的,比如一个和JDBC连接关联的事务。使用局部事务,应用服务器不需要参与事务管理,并且不能帮助确保跨越多个资源(需要指出的是多数应用使用单一事务性的资源)的事务的正确性。
14. 通过Spring,可以使用声明式事务。其中关于事务回滚说明正确的是 [a] 。
A. Spring框架的事务基础架构代码默认的只在抛出运行时异常时标识事务回滚
B. Spring框架的事务基础架构代码默认的抛出任何异常都标识事务回滚
C. 通过配置XML文件,可以指定当抛出一个checked exception时事务回滚 Spring中对异常回滚,默认是在抛出运行时异常时才回滚,对非运行时异常无回滚。使用-Exception,意思是对所有的异常(运行时,非运行时)异常都回滚 15. 若Hibernate的Session出现了Spring中的HibernateTemplate中没有的方法,则 [b] 。
A. 无法使用Spring的HibernateTemplate了
B. 可以使用HibernateTemplate的回调方法
//HibernateTemplate有excute方法,需要参数HibernateCallback,有一个doHibernate方法,传入Session,这样就可以调用Session的其他方法。
16. 在Spring事务的传播性中,一个方法调用另外一个方法。若两个方法需要运行在不同的事务中,可使用哪个事务的传播属性 [c] 。
A. Required
B. RequriesNew
C. Nested
D. Never
PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
17. [b] 是Spring MVC框架的核心控制类。
A. ActionServlet
B. DispatcherServlet
18. 要将Struts和Spring集成,可以使用下列哪几种方式 [abc] 。
A. 使用ContextLoaderPlugin,配置DelegatingRequestProcessor
B. 使用ContextLoaderPlugin,配置DelegatingActionProxy
C. 使用ActionSupport
D. 在Action中自己创建JavaBean的对象,并调用方法
19. 关于Spring MVC的视图解析,下列说法正确的是 [a] 。
A. 可以将jsp放在WEB-INF的指定目录下 // InternalResourceViewResolver
B. 不能将jsp放在WEB-INF的任何目录下
C. UrlBasedViewResolver可以将视图名解释成URL,并将请求传递给RequestDispatcher来显示视图
20. 若有和任何Web无关的上下文,可以使用 [c] 来读取。
A. RequestDispatcher //Web资源包装器
B. ContextLoaderListener //web应用启动时初始化WebApplicationContext
C. OpenSessionInViewFilter //Servlet2.3过滤器,用来把一个HibernateSession和一次完整请求过程绑定
11楼
3题应该有a
4题d应该是autodetect
5题应该都包括
6题为什么选B
9题为什么那样选
16题为什么选b
关键是19,20 我一点也不肯定3.spring的注入我就知道用set方法注入和构造器注入,至于注入是基于接口那是方便解耦,不算是注入方式吧?
4.d是autodetect,我以为你copy漏了,,
5.应该是singleton,prototype,request,session,
还有一个global-session,我不记得了,刚好复习一下,呵呵
6.两个bean作用域不同步,最好使用lookup方法注入,还有一种,但是会污染代码,太长这里就不说了。。
9.代理类和被代理类实现同一个接口,proxy类有个方法newProxyInstance(ClassLoader loader,Class<?>[]interface,InvocationHandlerh)该类是需要实现interface的所有接口的~~
spring切面是以代理方式实现的,这个你可以查资料啊。。或者看源码
16.题目里说得很清楚了呀。。
19.struts用得多,估计spring也差不多的吧?可以将jsp放在WEB-INF的指定目录下,虽然不能直接访问,但是通过配置是可以访问的,而且安全。
20.这个真不懂
ps。 10.bd正确,a不肯定还得多多研究啊。。