參***:
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是巨集定義,是預編譯的部分,其發生...