




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Spring練習題1. 請你談談SSH整合。Struts 是一個表示層框架,主要作用是界面展示,接受請求,分發(fā)請求;在mvc框架中,struts屬于vc層次 負責界面,負責mvc關系的分發(fā);Hibernate 是一個持久化層框架,他只負責與關系數(shù)據(jù)庫的操作Spring 是一個業(yè)務層框架 是一個整合的框架,能夠很好地黏合表示層與持久層2. 解釋一下DI(Dependency Injection,依賴注入)和IoC(Inversion of Control,控制反轉)。答:依賴注入DI是一個程序設計模式和架構模型, 一些時候也稱作控制反轉,盡管在技術上來講,依賴注入是一個IOC的特殊實現(xiàn),依賴注入
2、是指一個對象應用另外一個對象來提供一個特殊的能力,控制反轉和依賴注入的根本思想就是把類的依賴從類內部轉化到外部以減少依賴應用控制反轉,對象在被創(chuàng)立的時候,由一個調控系統(tǒng)內所有對象的外界實體,將其所依賴的對象的引用,傳遞給它。也可以說,依賴被注入到對象中。所以,控制反轉是,關于一個對象如何獲取他所依賴的對象的引用,這個責任的反轉。3. 什么是AOP,AOP的作用是什么?AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程也叫面向方面,可以通過預編譯方式和運行期動態(tài)代理實現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術。AOP實際是GoF設計模式的延續(xù),
3、設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,AOP可以說也是這種目標的一種實現(xiàn)。4. 根據(jù)自己的理解談談以下幾個概念:切面Aspect、通知Advice、切入點Pointcut、織入Weaving。切面Aspect 切面,對象操作過程中的截面,指需要實現(xiàn)的交叉功能。連接點JoinPoint程序運行過程中的某個階段點。如某個方法調用,或者某個異常被拋出。在這個階段點插入切面。通知Advice在某個連接點所采用的處理邏輯,即切面的實際實現(xiàn)。切點(PointCut)一系列連接點的集合,指明Advice將在何時觸發(fā),即Advice應用在哪些連接點5. 描述一下spring中實現(xiàn)DIdepend
4、ency injection的幾種方式。設置注入:指的是setter()的方式傳入被調用者的實例;構造注入:用構造方法來完成依賴注入的設定;6. 請介紹下spring中bean的作用域及生命周期。 Bean的作用域singleton 在每個Spring IoC容器中一個bean定義只有一個對象實例。默認情況下會在容器啟動時初始化bean,但我們可以指定Bean節(jié)點的lazy-init=“true來延遲初始化bean,這時候,只有第一次獲取bean會才初始化bean。如果想對所有bean都應用延遲初始化,可以在根節(jié)點beans設置default-lazy-init=“totype
5、 每次沉著器獲取bean都是新的對象。.request .session Bean的聲明周期:定義Bean初始化Bean調用Bean也就是使用Bean銷毀Bean.global sessi7. 如何使用Spring實現(xiàn)國際化? Spring 定義了訪問國際化信息的MessageSource接口,ApplicationContext接口繼承了MessageSource接口,ApplicationContext加載時,自動查找context中的MessageSource bean .找到后腦實例化空的StaticMagessageSource bean,改bean能夠接受 :getMessage(
6、String code,object ,args,Locale locale)getMessage(String code,object ,args,String defaultMessage,Locale locale)getMessage(MessageSourceResolvable resolvable,Locale locale)的調用實現(xiàn)國際化8. 下面關于AOP的說法錯誤的選項是( )。A. AOP將散落在系統(tǒng)中的“方面代碼集中實現(xiàn)B. AOP有助于提高系統(tǒng)的可維護性C. AOP已經表現(xiàn)出了將要代替面向對象的趨勢D. AOP是一種設計模式,Spring提供了一種實現(xiàn)9. 下面關于
7、Spring的說法中錯誤的選項是 。A. Spring是一系列輕量級Java EE框架的集合B. Spring中包含一個“依賴注入模式的實現(xiàn)C. 使用Spring可以實現(xiàn)聲明式事務D. Spring提供了AOP方式的日志系統(tǒng)10. 關于聲明事務的說法,下面錯誤的選項是( ).A. Spring采取AOP的方式實現(xiàn)聲明式事務B. 聲明式事務是非侵入式的,可以不修改原來代碼就給系統(tǒng)增加事務支持C. 配置聲明式事務需要tx和aop兩個命名空間的支持D. 配置聲明式事務時我們主要關注“在那兒和“采取什么樣的事務策略11. 以下關于Spring AOP的說法錯誤的選項是 。A. 首先要編寫方面代碼,實現(xiàn)
8、MethodBeforeAdvice接口B. Spring AOP采用攔截方法調用的方式實現(xiàn),可以在調用方法前、調用后、拋出異常時攔截C. Spring AOP采用代理的方式實現(xiàn),常用代理對象的類別為org.springframework. aop.framework.ProxyFactoryBeanD. Spring AOP可以在對目標target不做任何修改的情況下增加程序功能12. 數(shù)據(jù)庫中存在一張STUDENT表(SID,NAME,SEX,AGE,SCHOOL)。SID為整型,其余字段為字符串,長度自定。1) 編寫一個POJO類Student及其Hibernate映射文件;2) 編寫程
9、序插入一條記錄1,"王二小","男","20","CWNU";3) 使用HQL語句查詢使用投影查詢第一條記錄的NAME,SCHOOL字段,并打印輸出到控制臺。Student實體代碼:package com.moder;public class Student public int getSid() return sid;public void setSid(int sid) this.sid = sid;public int getAge() return age;public void setAge(int ag
10、e) this.age = age;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public String getName() return name;public void setName(String name) = name;public String getSchool() return school;public void setSchool(String school) this.school = school;private int sid;pr
11、ivate int age;private String sex;private String name;private String school;Student.hbm.xml代碼:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-/Hibernate/Hibernate Mapping DTD 3.0/EN"" :/<hibernate-mapping><class name="com.moder.Student" c
12、atalog="wds"><id name="sid"><generator class="native"></generator></id><property name="name"></property><property name="sex"></property><property name="age"></property><prope
13、rty name="school"></property></class></hibernate-mapping>測試代碼:public void selectStudent()Session session = HibernateSessionFactory.getSession();session.beginTransaction();String sql="from Student as u where u.id=1"try Query query=session.createQuery(sql);List
14、<Student> list=query.list();for(Student u:list)System.out.println(u.getName();System.out.println(u.getSchool();session.getTransaction() mit();session.close(); catch (Exception e) e.printStackTrace();插入代碼:public void addStudent() Session session = HibernateSessionFactory.getSession();System.out
15、.println(session);Student student = new Student();student.setAge(1);student.setName("ddd");student.setSchool("tt");student.setSex("tt");session.beginTransaction();try session.save(student); catch (Exception e) e.printStackTrace();session.getTransaction() mit();session.c
16、lose();13. 某程序系統(tǒng)中有如下幾個類。public class Equip/裝備private String name;/裝備名稱private String type;/裝備類型,頭盔、鎧甲等private Long speedPlus;/速度增效private Long attackPlus;/攻擊增效private Long defencePlus;/防御增效/Getters & Setterspublic class Player/玩家private Equip armet;/頭盔private Equip loricae;/鎧甲private Equip boot;
17、/靴子private Equip ring;/指環(huán)/Getters & Setterspublic void updateEquip(Equip equip)if("頭盔".equals(equip.getType()System.out.println(armet.getName()+"升級為"+ equip.getName();this.armet= equip;1) 在Spring配置文件中,配置一個擁有如下裝備的玩家“zhangsan。裝 備戰(zhàn)神頭盔連環(huán)鎖子甲波斯追風靴藍魔指環(huán)速度增效2688攻擊增效44212防御增效615322) 編寫
18、程序代碼,以如下格式輸出藍魔指環(huán)的屬性。藍魔指環(huán)速度增加:8;攻擊增加:12;防御增加:214. 下面關于“依賴注入的說法,錯誤的選項是 A.將組件間的依賴關系采取配置文件的方式管理,而不是硬編碼在代碼中B.降低了組件間的耦合,使程序更容易維護和升級C.促進了“面向接口編程,使構建大規(guī)模程序更輕松D.需要定義大量接口,增加了編碼復雜度15. 關于Spring AOP,下面說法錯誤的選項是 A.支持前置通知、后置通知、環(huán)繞通知 B.采用代理的方式實現(xiàn)C.在Spring2.0以前的版本中通過<aop:config>、<aop:pointcut>和<aop:adviso
19、r>配置 D.與“依賴注入實現(xiàn)緊密結合16. Spring各模塊之間關系 A.Spring各模塊之間是緊密聯(lián)系的,相互依賴的B.Spring各模塊之間可以單獨存在C.Spring的核心模塊是必須的,其他模塊是基于核心模塊D.Spring的核心模塊不是必須的,可以不要17. 舉例說明使用XML方式配置AOP所使用的類、標簽和屬性。<aop:config> <aop:aspect id="aspectDemo" ref="aspectBean"> <aop:pointcut id="somePointcut&qu
20、ot; expression="execution(* annoaop ponent.business*(.)" /> <aop:before pointcut-ref="somePointcut" method="validateUser" /> <aop:before pointcut-ref="somePointcut" method="beginTransaction" /> <aop:after-returning pointcut-ref="somePointcut" method="endTransaction" /> <aop:after-returning pointcut-ref="somePointcut" method="writeLogInfo" /> </aop:aspect> </aop:config> <bean id="aspectBean" class="annoaop.Aspect
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲加盟店經營管理規(guī)范合同
- 城市更新中的不動產登記專題學習
- 大學空中面試題庫及答案
- 美術教學色彩課件
- 心力衰竭培訓課件
- 關于安全的合理化建議
- 衛(wèi)生院安全生產月活動開展情況
- 重慶市安全生產條例
- 村里安全生產排查
- 北京交警事故處理電話
- 2025泉州市洛江區(qū)事業(yè)單位考試歷年真題
- 商場夏季餐飲活動方案
- 高溫施工人員防暑指南
- 上海市重點建設項目社會穩(wěn)定風險評估報告編制指南2025
- 2025央國企AI+數(shù)智化轉型研究報告
- 倉儲部標簽管理制度
- 數(shù)字化情報資源管理-洞察闡釋
- 電氣自動化 霓虹燈廣告屏的PLC控制設計
- 穿透式管理模式在建設項目中的應用與探索
- 車庫門維修合同范本
- 2025年度事業(yè)單位公開招聘考試《綜合應用能力(E類)公共衛(wèi)生管理》試卷真題及解析
評論
0/150
提交評論