Spring练习题.docx

上传人:b****8 文档编号:29771997 上传时间:2023-07-26 格式:DOCX 页数:11 大小:112.81KB
下载 相关 举报
Spring练习题.docx_第1页
第1页 / 共11页
Spring练习题.docx_第2页
第2页 / 共11页
Spring练习题.docx_第3页
第3页 / 共11页
Spring练习题.docx_第4页
第4页 / 共11页
Spring练习题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Spring练习题.docx

《Spring练习题.docx》由会员分享,可在线阅读,更多相关《Spring练习题.docx(11页珍藏版)》请在冰豆网上搜索。

Spring练习题.docx

Spring练习题

Spring练习题

D

1.

2.

3.如何使用Spring实现国际化?

Spring定义了访问国际化信息的MessageSource接口,ApplicationContext接口继承了MessageSource接口,ApplicationContext加载时,自动查找context中的MessageSourcebean.找到后脑实例化空的StaticMagessageSourcebean,改bean能够接受:

getMessage(Stringcode,object[],args,Localelocale)

getMessage(Stringcode,object[],args,StringdefaultMessage,Localelocale)

getMessage(MessageSourceResolvableresolvable,Localelocale)

的调用实现国际化

4.下面关于AOP的说法错误的是()。

A.AOP将散落在系统中的“方面”代码集中实现

B.AOP有助于提高系统的可维护性

C.AOP已经表现出了将要代替面向对象的趋势

D.AOP是一种设计模式,Spring提供了一种实现

5.下面关于Spring的说法中错误的是()。

A.Spring是一系列轻量级JavaEE框架的集合

B.Spring中包含一个“依赖注入”模式的实现

C.使用Spring可以实现声明式事务

D.Spring提供了AOP方式的日志系统

6.关于声明事务的说法,下面错误的是().

A.Spring采取AOP的方式实现声明式事务

B.声明式事务是非侵入式的,可以不修改原来代码就给系统增加事务支持

C.配置声明式事务需要tx和aop两个命名空间的支持

D.配置声明式事务时我们主要关注“在那儿”和“采取什么样的事务策略”

7.下列关于SpringAOP的说法错误的是()。

A.首先要编写方面代码,实现MethodBeforeAdvice接口

B.SpringAOP采用拦截方法调用的方式实现,可以在调用方法前、调用后、抛出异常时拦截

C.SpringAOP采用代理的方式实现,常用代理对象的类别为org.springframework.aop.framework.ProxyFactoryBean

D.SpringAOP可以在对目标(target)不做任何修改的情况下增加程序功能

8.已知数据库中存在一张STUDENT表(SID,NAME,SEX,AGE,SCHOOL)。

SID为整型,其余字段为字符串,长度自定。

1)编写一个POJO类Student及其Hibernate映射文件;

2)编写程序插入一条记录(1,"王二小","男","20","CWNU");

3)使用HQL语句查询(使用投影查询)第一条记录的NAME,SCHOOL字段,并打印输出到控制台。

Student实体代码:

packagecom.moder;

publicclassStudent{

publicintgetSid(){

returnsid;

}

publicvoidsetSid(intsid){

this.sid=sid;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetSchool(){

returnschool;

}

publicvoidsetSchool(Stringschool){

this.school=school;

}

privateintsid;

privateintage;

privateStringsex;

privateStringname;

privateStringschool;

}

Student.hbm.xml代码:

xmlversion="1.0"?

>

DOCTYPEhibernate-mappingPUBLIC

"-//Hibernate/HibernateMappingDTD3.0//EN"

"

测试代码:

publicvoidselectStudent()

{

Sessionsession=HibernateSessionFactory.getSession();

session.beginTransaction();

Stringsql="fromStudentasuwhereu.id=1";

try{

Queryquery=session.createQuery(sql);

Listlist=query.list();

for(Studentu:

list){

System.out.println(u.getName());

System.out.println(u.getSchool());

}

session.getTransaction().commit();

session.close();

}catch(Exceptione){

e.printStackTrace();

}

}

插入代码:

publicvoidaddStudent(){

Sessionsession=HibernateSessionFactory.getSession();

System.out.println(session);

Studentstudent=newStudent();

student.setAge

(1);

student.setName("ddd");

student.setSchool("tt");

student.setSex("tt");

session.beginTransaction();

try{

session.save(student);

}catch(Exceptione){

e.printStackTrace();

}

session.getTransaction().commit();

session.close();

}

9.某程序系统中有如下几个类。

publicclassEquip{//装备

privateStringname;//装备名称

privateStringtype;//装备类型,头盔、铠甲等

privateLongspeedPlus;//速度增效

privateLongattackPlus;//攻击增效

privateLongdefencePlus;//防御增效

//Getters&Setters

…}

publicclassPlayer{//玩家

privateEquiparmet;//头盔

privateEquiploricae;//铠甲

privateEquipboot;//靴子

privateEquipring;//指环

//Getters&Setters

publicvoidupdateEquip(Equipequip){

if("头盔".equals(equip.getType())){

System.out.println(armet.getName()+"升级为"+equip.getName());

this.armet=equip;

}

}

}

1)在Spring配置文件中,配置一个拥有如下装备的玩家“zhangsan”。

装备

战神头盔

连环锁子甲

波斯追风靴

蓝魔指环

速度增效

2

6

8

8

攻击增效

4

4

2

12

防御增效

6

15

3

2

2)编写程序代码,以如下格式输出蓝魔指环的属性。

蓝魔指环[速度增加:

8;攻击增加:

12;防御增加:

2]

10.下面关于“依赖注入”的说法,错误的是

A.将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中

B.降低了组件间的耦合,使程序更容易维护和升级

C.促进了“面向接口”编程,使构建大规模程序更轻松

D.需要定义大量接口,增加了编码复杂度

11.关于SpringAOP,下面说法错误的是

A.支持前置通知、后置通知、环绕通知

B.采用代理的方式实现

C.在Spring2.0以前的版本中通过

config>、

pointcut>和

advisor>配置

D.与“依赖注入”实现紧密结合

12.Spring各模块之间关系

A.Spring各模块之间是紧密联系的,相互依赖的

B.Spring各模块之间可以单独存在

C.Spring的核心模块是必须的,其他模块是基于核心模块

D.Spring的核心模块不是必须的,可以不要

13.举例说明使用XML方式配置AOP所使用的类、标签和属性。

config>

aspectid="aspectDemo"ref="aspectBean">

pointcutid="somePointcut"

expression="execution(*annoaop.Component.business*(..))"/>

beforepointcut-ref="somePointcut"

method="validateUser"/>

beforepointcut-ref="somePointcut"

method="beginTransaction"/>

after-returningpointcut-ref="somePointcut"

method="endTransaction"/>

after-returningpointcut-ref="somePointcut"

method="writeLogInfo"/>

aspect>

config>

class="annoaop.AspectBean">

class="annoaop.ComponentImpl">

类:

AspectBean;

标签:

config>

pointcut>

before>等

属性:

expresion

14.假设某个bean要使用某种类型的资源,那么一般情况下应该把资源的释放放到bean的生命周期中()阶段

A.定义

B.初始化

C.使用

D.销毁

15.有关spring中配置数据源,下列说法正确的是()

A.配置数据源的bean名字只能是datasource

B.datasource接口位于java.sql包中

C.在一个Spring配置文件中可以配置多个数据源

D.datasource就是一个数据库连接

16.关于BeanFactory说法错误的是()

A.它是一个接口

B.最常用的是xmlBeanFactory

C.BeanFactory所管理的bean的定义只能来自于一个配置文件

D.ApplicationContext也是一个BeanFactory

17.Session中persist()和save()方法区别。

Seve()它要返回对象标示符,所以会立即执行sqlinset且保存任何状态的对象。

Persist()把一个瞬时态的实例化。

但是并:

”不保证”对象标示符被立即填入到持久化实例中,标示符的填写可能被推迟到flush的时间,且不能保存游离态的对象,没返回值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1