⼗道Spring选择题及解析。
1、(多选)在关于依赖注⼊,描述正确的是(BC)
A、依赖注⼊可以增强系统各组件的依赖关系
B、所谓依赖注⼊,就是明确地定义组件接⼝,独⽴开发各个组件
,然后根据组件件依赖关系组装运⾏的设计模式
C、依赖注⼊能够降低系统各组件的依赖关系,提倡⾯向接⼝编程
D、Spring的依赖注⼊和控制反转是完全不同的两个概念
解析:依赖注⼊和控制反转是同⼀个概念。通过把具体实现之间的依赖转化为对接⼝的依赖,从⽽降低模块间的耦合。
*个⼈觉得说“依赖注⼊和控制反转是同⼀个概念”并不恰当,两者是spring实例化bean的两个步骤,但并不等价。
2、(多选)对于Spring的AOP的实现⽅式下列选项说法错误的是(AD)
A、Spring的Advice采⽤特定的aop语⾔,在定义pointcuts不可以使⽤配置⽂件
B、以实现接⼝的⽅式作为优先,这样可以降低应⽤程序组件之间的耦合程度
C、Spring不⽀持属性成员jointponts
D、以上说法都正确
解析:利⽤AOP可以对业务逻辑的各个部分进⾏隔离,从⽽使得业务逻辑各部分之间的耦合度降低,提⾼程序的可重⽤性,同时提⾼了开发的效率。(AOP的好处,可背)
Spring的AOP只实现了⽅法级别的连接点,在J2EE应⽤中,AOP拦截到⽅法级的操作已经⾜够。OOP倡导的是基于get/set⽅法的访问,⽽⾮直接访问域,Spring有⾜够⾥有仅仅提供⽅法级的连接点。
AOP是⼀种思想,没有"AOP语⾔"。使⽤Annotation来实现advice可以减少XML的配置,定义切⼊点时也⽆需在XML中进⾏。
3、下⾯对Spring中Bean的注⼊说法正确的是(B)
A、Bean根据注⼊⽅式不同可以分为构造⽅法注⼊和⾃动装载。
spring aop应用场景
B、使⽤构造⽅法注⼊构造对象的同时,完成依赖关系的建⽴
C、在关系的对象很多时,使⽤构造⽅法注⼊更适合
D、构造⽅法通过constructor-index属性来指定,在该标签下要指定索引的位置
解析:Spring依赖注⼊的两种⽅式是构造注⼊和设值注⼊。对于构造注⼊,Spring在创建Bean实例时,需要同时实例化其依赖的全部实例。对于复杂的依赖关系,若使⽤构造注⼊,会导致构造器过于臃肿。在bean元素中使⽤constructor-arg元素来设值属性值的构造函数注⼊,可以通过该元素的type属性指定参数类型,index属性指定该参数在构造函数参数列表中的索引位置。
4、关于ApplicationContext接⼝,下列说法错误的是(C)
A、它是beanfactory的⼦接⼝
B、ApplicationContext是基于beanfactory⽽建⽴的,ApplicationContext继承了beanFactory
的功能
C、fileSystemXmlApplicationContext是其⼦接⼝(应说“⼦实现”?)
D、ApplicationContext提供了对资源⽂件进⾏访问的⽀持
解析:ApplicationContext是BeanFactory的⼦接⼝,ApplicationContext对象⾥⾯包含了BeanFactory的所有功能,并提供了⼀些扩展,⽐如更容易同SpringAOP特性整合,资源⽂件的处理,Spring为ApplicationContext提供的3种实现分别
为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和XmlWebApplicationContext。
5、下⾯关于事务管理说法错误的是(D)
A、Spring事务管理⽅式包括编程⽅式、声明式
B、编程式采⽤的⽅式来控制事物的边界
C、声明式采⽤配置xml⽅式,将事务管理与实际业务代码解耦
D、实现编程事物,可以实现PlatformTransaction接⼝或是使⽤事务模板TransactionTemplate
解析:Spring提供的事务管理可以分为两类:编程式和声明式。编程式通过代码实现,⽐较直接,但是
代码量⼤,重复的代码⽐较多,不易维护;声明式⽐编程式更灵活。Spring提供两种⽅式的编程式事务管理,分别是使⽤TransactionTemplate和直接使
⽤PlatformTransactionManager。声明式事务管理通过AOP实现,这是最少影响应⽤代码的选择。
6、以下说法不正确的是(B)
A、Spring是⼀个轻量级框架,⼤⼤简化了java企业级开发
B、Spring是企业级应⽤开发的⼀站式选择,可以取代其他已有框架
C、Spring框架最基本的部分是Spring Core模块,提供Ioc和依赖注⼊
D、Spring AOP是基于Spring Core的符合规范的⾯向切⾯编程的实现
解析:略
7、下⾯对Spring框架的持久化⽀持说法错误的是(C)。
A、Spring没有⾃⼰的持久化⽅案,它集合了现有的流⾏持久化框架
B、Spring采⽤JDBC模板封装了JDBC的数据库操作
C、Spring对各种持久化技术提供了统⼀的编程⽅式
D、Spring将数据库访问的checked异常转换为运⾏时异常
解析:Spring对多个持久化技术提供了集成的⽀持,借助于Spring框架提供的DAO抽象,开发者能够以统⼀的⽅式同数据访问技术(⽐如JDBC、Hibernate、JDO、TopLink)进⾏交互。JdbcTemplate是Spring为借助JDBC操作RDBMS⽽提供的实⽤模版类,简化了JDBC 操作。Spring提供了DataAccessException,这个异常类对现有多种数据库访问技术的异常进⾏封装,为我们提供了⼀个与底层数据库⽆关的异常体系,因此可以⽅便地处理各种数据访问异常,该异常类是RuntimeException。
8、在⼀个运⾏结果的测试类中,有如下代码:
ApplicationContext Context=new ClassPathXmlApplicationContext("applicationContext")
UserService uservice=(UserService)Bean("userservice")
下列选项中关于Spring的配置⽂件理解不正确的是(C)
A、Spring的配置⽂件名字为l
B、Spring配置⽂件⼀般使⽤bean元素中的id=“userService”
C、UserService是⼀个接⼝
D、在配置⽂件中UserService可以没有属性注⼊
解析:以上代码中并没有标明userservice是⼀个接⼝,所以C错。
9、使⽤Spring简化Hibernate的开发,不需要的步骤是(C)
A、在Spring配置⽂件l创建⼀个名为SessionFactory的bean类的
实现是hibemate3.LoactionFactoryBean
B、在Dao接⼝的实现类继承HibernateDaoSupport
C、Dao接⼝的实现类提供SessionFactory的set/get⽅法
D、在Spring的配置⽂件中为Dao注⼊SessionFactory
解析:HibernateDaoSupport类中已经有了sessionFactory。
10、(多)下⾯对Spring说法正确的是(BD)
A、Spring不⽀持对数据库的事务管理
B、Spring⽀持对业务的事务管理
C、Spring的配置⽂件必须通过l通知应⽤服务器所在的⽬录
D、Spring实现了AOP思
解析:Spring提供了两种事务管理⽅式:编程式和声明式。其中声明式事务管理是通过AOP实现的。Spring的配置⽂件可以通过Struts的插件机制、Servlet、Listener等多种⽅式加载,通过Servlet或Listener加载时可以在l中通过context-param声明其所在⽬录

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。