複習資料1

2021-10-24 10:24:42 字數 3849 閱讀 8193

1.實體類為什麼都用包裝型別?

舉個例子,乙個student類,其成績屬性,我們設定為

private integer socre;

而不設定為

private int socre;

這是因為有的學生會出現考0分,而有的學生缺考,這樣,就沒有辦法去區分了。

包裝型別 integer 和 基本型別 int 的最大區別就是包裝類可以設定為 null。

缺考設定為null,就ok了。

2.有@component直接註解類,為什麼還要@bean呢,有什麼區別嗎?

還有@autowired,@qualifier, @resource, @value,@scope,@componentscan,@bean,@import,@propertysource,@configuration,@entity,的作用?

@component把資源讓 spring 來管理。相當於在 xml 中配置乙個 bean。

@autowired自動按照型別注入。當使用註解注入屬性時,set 方法可以省略。

@qualifier在自動按照型別注入的基礎之上,再按照 bean 的 id 注入。

@resource直接按照 bean 的 id 注入。它也只能注入其他 bean 型別。

@value注入基本資料型別和 string 型別資料的

@scope指定 bean 的作用範圍。@configuration用於指定當前類是乙個 spring 配置類,當建立容器時會從該類上載入註解。

@componentscan用於指定 spring 在初始化容器時要掃瞄的包。作用和在 spring 的 xml 配置檔案中的:是一樣的。

@bean該註解只能寫在方法上,表明使用此方法建立乙個物件,並且放入 spring 容器。

@import用於匯入其他配置類,在引入其他配置類時,可以不用再寫@configuration 註解。當然,寫上也沒問

題@propertysource用於載入.properties 檔案中的配置。例如我們配置資料來源時,可以把連線資料庫的資訊寫到properties 配置檔案中,就可以使用此註解指定properties 配置檔案的位置。

@runwith(springjunit4classrunner.class)junit 給我們暴露了乙個註解,可以讓我們替換掉它的執行器

@contextconfiguration(locations= )使用@contextconfiguration 指定 spring 配置檔案的位置

3.@responsebody和@requestparam的作用?

5.mybits運算元據庫的註解?

@insert:實現新增

@update:實現更新

@delete:實現刪除

@select:實現查詢

@result:實現結果集封裝

@results:可以與@result 一起使用,封裝多個結果集

@resultmap:實現引用@results 定義的封裝

@one:實現一對一結果集封裝

@many:實現一對多結果集封裝

@selectprovider: 實現動態 sql 對映

@cachenamespace:實現註解二級快取的使用

6.從表和主表的區別?

外來鍵的箭頭指向的是從表,主鍵所在的表叫主表,外來鍵所在的表叫從表

7.selectkey相當於什麼?

新增使用者後,同時還要返回當前新增使用者的 id 值,因為 id 是由資料庫的自動增長來實現的,所以就相

當於我們要在新增後將自動增長 auto_increment 的值返回。

select last_insert_id();

insert into user(username,birthday,***,address) 

values(#,#,#,#)

8.怎樣實現延遲載入?

使用 assocation 實現延遲載入,在resultmap中新增

同時我們需要在 mybatis 的配置檔案 sqlmapconfig.xml 檔案中新增延遲載入的配置。

使用 collection 實現延遲載入,同樣也在resultmap中新增 

9.usecache=true,表示使用一級快取,在xml檔案中在**呢?

select * from user where id = #

10.typealiases的作用? 

11.怎樣開啟二級快取?

在 sqlmapconfig 中開啟二級快取支援  

在持久層介面中使用註解配置二級快取

@cachenamespace(blocking=true)//mybatis 基於註解方式實現配置二級快取

12.例項化 bean 的三種方式和spring 的三種依賴注入用來幹什麼的?

例項化 bean 的三種方式是用來生成相應類的物件。

依賴注入它是 spring 框架核心 ioc 的具體實現。我們的程式在編寫時,通過控制反轉,把物件的建立交給了 spring,

例項化 bean 的三種方式

第一種方式:使用預設無參建構函式,

第二種方式:spring 管理靜態工廠-使用靜態工廠的方法建立物件

public class staticfactory }

第三種方式:spring 管理例項工廠-使用例項工廠的方法建立物件

public class instancefactory }

spring 的三種依賴注入

第一種方式:建構函式注入

第二種方式:set 方法注入

第三種方式:介面注入

有些時候資源並非來自於自身系統,而是來自於外界,比如資料庫連線資源完全可以在tomcat下配置,然後通過jndi的形式去獲取它,這樣資料庫連線資源是屬於開發工程外的資源,這個時候我們可以採用介面注入的形式來獲取它

還有一種叫自動裝配:@autowired

13.使用 dbassit 作為持久層解決方案,在mybits中用xml的方式配置事務 

14.spring中的aop事務相關的知識?

aop:config:作用:用於宣告開始 aop 的配置

aop:aspect:作用:用於配置切面。

aop:pointcut:作用:用於配置切入點表示式。就是指定對哪些類的哪些方法進行增強。

註解配置事務

@aspect//表明當前類是乙個切面類

@before作用:把當前方法看成是前置通知。

@afterreturning作用:把當前方法看成是後置通知。

@afterthrowing作用:把當前方法看成是異常通知。

@after作用:把當前方法看成是最終通知。@after("execution(* com.itheima.service.impl.*.*(..))")

@around作用:把當前方法看成是環繞通知。@around("execution(* com.itheima.service.impl.*.*(..))")

@pointcut作用:指定切入點表示式,@pointcut("execution(* com.itheima.service.impl.*.*(..))")

@around("pt1()")//注意:千萬別忘了寫括號

@enableaspectjautoproxy不使用 xml 的配置方式

15.配置事務的步驟?

第一步:配置事務管理器

第二步:配置事務的通知引用事務管理器    

第三步:配置事務的屬性

第四步:配置 aop 切入點表示式

第五步:配置切入點表示式和事務通知的對應關係

17.@responsebody 註解實現將 controller 方法返回物件轉換為 json 響應給客戶端,其中放在@responsebody註解放在方法上方和放在返回值型別前面有啥區別沒?

沒有區別,都是將物件轉換為 json 響應給客戶端

資料庫複習1

1.常用的資料庫軟體 a.大型資料庫 oracle oracle 甲骨文 公司 db2 ibm公司 sybase sybase公司 較早採用c s技術 b.中小型資料庫 sql server microsoft,支援c s結構,採用標準sql語言 mysql 體積小,速度快,開發原始碼,很多中小型 ...

資料結構複習(1)

1.程式 演算法 資料結構 2.演算法的五個特性 有窮性,確定性,可行性,輸入,輸出 衡量乙個演算法要從 正確性 可讀性 健壯性 效率與低儲存量需求 來考慮 3.時間複雜度與空間複雜度直觀的反映了優劣,不同的演算法可以實現相同的功能我們可以用時間複雜度來衡量乙個演算法的好壞,常見的1 輸入輸出 n ...

資料結構複習 1

資料結構的基本概念 資料 資料是資訊的載體,是描述客觀事物的數,字元以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料是電腦程式加工的原料。資料元素 資料元素是資料的基本單位,通常作為乙個整體進行考慮和處理。乙個資料元素可由若干資料項組成,資料項是構成資料元素的不可分割的最小單位 例如...