JAVA企業面試題精選 Spring 1 10

2021-08-06 07:07:57 字數 2671 閱讀 2566

參***:

spring框架的作用和優點如下:

1.spring是乙個開源的輕量級的應用開發框架,其目的是用於簡化企業級應用程式開發,減少侵入;

2.spring提供的ioc和aop應用,可以將組建的耦合度降至最低,即解耦,便於系統日後的維護和公升級;

3.spring為系統提供了乙個整體的解決方案,開發者可以利用它本身提供的功能外,也可以與第三方框架合計數整合應用,可以自由選擇採用哪種技術進行開發.

參***:

1.可以通過定義的scope屬性指定bean物件的作用域或者使用註解@scope指定bean物件的作用域.

2.預設bean物件的作用域為singleton.

@component,@repository,@service,@autowired,@inject,@value

參***:

1.@component為通用註解.

2.@repository為持久層元件註解.

3.@service為業務層元件註解.

4.@scope為bean的作用域註解.

5.@autowired,@inject為指定bean之間依賴關係的註解.

6@value為注入spring表示式值的註解.

參***:參***:

spring有什麼缺點如下:

1.jsp中要寫很多**;

2.控制器過於靈活,缺少乙個公用控制器;

3.不支援分布式部署.

參***:

ioc:控制反轉,是一種設計模式.一層哈尼是控制權的轉移:由傳統的在程式中控制依賴轉移到由容器來控制;第二層是依賴注入:將相互以來的物件分離,在spring配置檔案中描述他們的依賴關係.他們的依賴關係只在使用的時候才建立.

aop:面向切面,是一種程式設計思想,oop的延續.將系統中非核心的業務提取出來,進行單獨處理.

spring的aop和ioc在專案中都是為了解決系統**耦合度過高的問題.使**重用度高,易於維護.比如事務,日誌和安全等.

參***:

id="txmanager"

class="org.springframework.orm.hibernate3.hibernatetransactionmanager">

name="sessionfactor"

ref="sessionfactory">

bean>

transaction-manager="txmanager"/>

然後,使用@transactional註解,**如下所示:

@transactional

public

class

defaultfooservice

implements

fooservice

public

void

updatefoo(foo foo)

}

@transactional註解標記可以用子安類定義和方法定義前,方法的事務設定將優先於類級別註解的事務設定.

參***:

spring中的事務管理是通過aop**來實現的,被**物件的每個方法進行來接,在方法執行前啟動事務,方法執行完後根據是否有異常和異常的種類進行提交或回滾.

spring事務的傳播行為如下:

1.propagation_required–支援當前事務,如果當前沒有事務,就新建乙個事務.這是最常見的選擇.

2.propagation_supports–支援當前事務,如果當前沒有事務,就以非事務方式執行.

3.propagation_mandatory–支援當前事務,如果當前沒有事務,就丟擲異常.

4.propagation_requires_new–新建事務,如果當前存在事務,把當前事務掛起.

5.propagation_not_supported–以非事務方式執行操作,如果當前存在事務,就把當前事務掛起.

6.propagation_never–以非事務方式執行,如果當前存在事務,則丟擲異常.

7.propagation_nested–如果當前存在事務,則在巢狀事務內執行.如果當前沒有事務,則進行與propagation_required類似的操作.

spring事務的隔離級別如下:

資料庫系統提供了四種事務隔離級別供使用者選擇.不同的隔離級別採用不同的鎖型別來實現,在四種隔離級別中,serializable的隔離級別最高,readuncommitted的隔離級別最低.大多數資料庫預設的隔離界別為readcommited,如sqlserver,當然也有少部分資料庫預設的隔離級別為repeatableread,如mysql.

1.readuncommitted:讀未提交資料(會出現髒讀,不可重複讀和幻讀).

2.readcommited:讀已提交資料(會出現不可重複渡河幻讀).

3.repeatableread:可重複讀(會出現幻讀).

4.serializable:序列化.

髒讀:乙個事務讀取到另乙個事務未提交的更新資料.

不可重複讀:在同乙個事務中,多次讀取同乙個資料返回的結果有所不同.換句話收就是,後續讀取可以讀到另一事物已提交的更新資料.相反,」可重複讀」在同一事物中多次讀取資料時,能夠保證所讀資料一樣,也就是,後續讀取不能讀到另一事務已提交的更新資料.

幻讀:乙個事務讀取到另乙個事務已提交的insert資料.

參***:

JAVA企業面試題精選 Web基礎 11 20

參 innerhtml,outerhtml,innertext之間的區別如下 1.innerhtml設定或獲取位於物件起始和結束標籤內的html 2.outerhtml設定或獲取物件及其內容的html形式 3.innertext設定或獲取位於物件起始和結束標籤內的文字 4.innerhtml與out...

面試題精選 微軟試題

微軟試題 1 直線飛行 一架飛機載滿油飛行距離為1,n架飛機最遠能飛多遠?就是不是兜圈沒有迎頭接應的情況,這問題就是n架飛機能飛多遠?存在的極值問題是不要重複飛行,比如兩架飛機同時給一架飛機加油同 時飛回來即可認為是重複,或者換句話說就是離出發點越遠在飛的飛機 就越少,這個極值條件是顯然的,因為n架...

幾個面試題精選

面試題35 typedef和define有什麼區別 1 用法不同 typedef用來定義一種資料型別的別名,增強程式的可讀性。define主要用來定義常量,以及書寫複雜使用頻繁的巨集。2 執行時間不同 typedef是編譯過程的一部分,有型別檢查的功能。define是巨集定義,是預編譯的部分,其發生...