自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【244期門診集錦】入木三分、鞭辟入里掌握Spring

企業(yè)動態(tài)
在精典的SSH開源組合框架中,也許你會用Spring MVC替換Struts,用myBatis替換Hibernate,唯一難以舍棄的就是Spring。不管新技術(shù)如何層出不窮,各領(lǐng)風(fēng)騷,但Spring始終歷久彌香,散發(fā)著無窮的魅力。Spring涵蓋了Java企業(yè)應(yīng)用開發(fā)的綱絡(luò),學(xué)習(xí)Spring不應(yīng)局限于Spring本身,而應(yīng)以Java應(yīng)用開發(fā)的大視野入木三分、鞭辟入里地學(xué)習(xí)并掌握Spring,以期在駕馭大型Java應(yīng)用開發(fā)中做到氣定神閑,游刃有余。
    技術(shù)門診是51CTO社區(qū)品牌欄目,每周邀請一位客座專家,為廣大技術(shù)網(wǎng)友解答疑問。從熱門技術(shù)到前沿知識,從技術(shù)答疑到職業(yè)規(guī)劃。每期一個主題,站在***最熱的技術(shù)前沿為你引航!

  本期特邀知名作家、開源框架專家陳雄華老師,針對Spring學(xué)習(xí)過程中遇到的問題給予解答。歡迎網(wǎng)友積極提問,與專家一起討論!     

 

查看本期門診精彩實(shí)錄:http://doctor.51cto.com/develop-258.html

精選本期網(wǎng)友提問與專家解答,以供網(wǎng)友學(xué)習(xí)參考。

Q:老師好:如何學(xué)習(xí)Spring?需要掌握哪些知識?Spring 3.0比2.0有哪些差異及改進(jìn)?
A:
1)核心API更新到Java 5.0
2)新增Spring表達(dá)式語言

3)可通過Java類提供IoC配置信息
4)通用類型轉(zhuǎn)換系統(tǒng)和屬性格式化系統(tǒng)
5)數(shù)據(jù)訪問層新增OXM功能
6)Spring 3.0最令人振奮的一個增強(qiáng)是Spring MVC提供了對REST風(fēng)格編程的支持
7)聲明式模型驗(yàn)證,全面支持JSR-303的Bean驗(yàn)證API
8)對JavaEE 6的支持
9)支持內(nèi)嵌的數(shù)據(jù)庫
 

Q:老師您好,學(xué)習(xí)Spring需要掌握哪些Java基礎(chǔ)知識?如果深入了解并掌握Spring?


 

A:大致需要以下的知識:
   1)Java反射知識;
   2)Java動態(tài)代理知識;
   3) Java注解知識;
   4) PropertyEditor的知識;
   5) ThreadLocal的知識;
   6) 國際化消息的知識;
   這些Java基礎(chǔ)知識在《Spring 3.x企業(yè)應(yīng)用開發(fā)實(shí)戰(zhàn)》中都有介紹,為讀者做好的Java基礎(chǔ)知識的鋪墊,減少了讀者閱讀的難度。

如果深入了解并掌握Spring?先嘗試在項(xiàng)目中使用Spring,然后再有機(jī)會了解Spring的技術(shù)內(nèi)幕,技術(shù)內(nèi)幕在書的第3,5章有講解,再此基礎(chǔ)上建議你開始讀讀Spring的源碼.讀了Spring源碼,一定會讓你的Java功力和OOA,OOP能力大增!

 

 

Q:老師好:您好,公司有個項(xiàng)目,其中一個LogicImpl里面執(zhí)行了除常用biz logic之外的,侏儒去外網(wǎng)抓取一些數(shù)據(jù),socket和其他系統(tǒng)之間的通信的功能(使用還比較頻繁)。有一次,系統(tǒng)突然D了,一看,JDBC pool全滿了。后來該類實(shí)現(xiàn)了spring的ApplicationContextAware接口,后面在用的時候就通過applicationcontex上下文的getBean去取本類的實(shí)例。這樣就解決了。想必這個接口您應(yīng)該也熟悉吧。區(qū)別在于改動后,吧一些操作交給了spring的來管理,限于原因,沒仔細(xì)去追究,spring源碼也一直沒時間去細(xì)看。不知道您是否遇到過,能否詳細(xì)的說明一下這個事情的原因?如果沒遇到過,您也可以對這個接口說一下您自己的看法,謝謝。
A:
感謝您的提問。
我的猜測是,你的這個業(yè)務(wù)類方法由于執(zhí)行時間較長,他持有Connection的時間就長,所以并發(fā)性就差。 因此需要把數(shù)據(jù)庫訪問的邏輯放在一個事務(wù)方法中,數(shù)據(jù)訪問完成后,就馬上將連接釋放給連接池。引入ApplicationContextAware后,通過getBean的方法和直接Autowried 是沒有區(qū)別的,因此你的問題,我覺得還是沒有徹底解決。我不知道,你原來這個LogicImpl是不是單實(shí)例的, 在Spring中管理的Bean都是單實(shí)例的,它可以有效提高并發(fā)性。建議你將對外網(wǎng)操作這些邏輯和數(shù)據(jù)庫訪問邏輯分開來,對外網(wǎng)的操作較重,可以放到一個異步操作中去做,不要和數(shù)據(jù)庫訪問放在一起,這樣可以降低對數(shù)據(jù)庫連接占用的時間,提高并發(fā)性。
 

Q:專家們好,你好!在用SPRING管理數(shù)據(jù)庫數(shù)據(jù)源時一般都會顯示用戶名和密碼等敏感信息,用sping來加載數(shù)據(jù)源,如何保障安全性的問題?
A:
這個問題很好,說明你對Spring的應(yīng)用已經(jīng)比較深了??梢愿采wPropertyPlaceholderConfigurer類的以下幾個方法:
1)void convertProperties(Properties props):屬性文件中的所有屬性值都封裝在props中,覆蓋此方法,可以對所有的屬性值進(jìn)行轉(zhuǎn)換處理。
2)String convertProperty(String propertyName, String propertyValue):在加載屬性文件并讀取文件中的每個屬性時,都會調(diào)用此方法進(jìn)行轉(zhuǎn)換處理。
3)String convertPropertyValue(String originalValue):和上一個方法類似,只不過沒有傳入屬性名。
 

Q:陳老師您好,我用SSH開發(fā)了兩個企業(yè)門戶系統(tǒng),開發(fā)起來很容易,可正式上線后,就感覺系統(tǒng)速度不夠流暢了,而且越運(yùn)行就會越慢,人家服務(wù)商那邊說我們的系統(tǒng)老是把他們的服務(wù)器內(nèi)存跑爆掉,真不知道是什么原因引起的,不知Spring有沒有什么好的解決方案?
A:
非常感謝您的問題。
如果是互聯(lián)網(wǎng)的項(xiàng)目,不在建議使用Hibernate,因?yàn)镠ibernate對緩存的管理層面比較高,不方便做經(jīng)細(xì)化的緩存管理。我現(xiàn)在的項(xiàng)目也是互聯(lián)網(wǎng)項(xiàng)目,我是采用Spring MVC+Spring +myBatis+memcached+freemaker.Spring本身是不會耗資源的,阿里巴巴就是使用Spring的。

責(zé)任編輯:51CTO互動部 來源: http://doctor.51cto.com
相關(guān)推薦

2012-04-19 14:32:46

2012-04-26 13:34:55

技術(shù)門診技術(shù)人虛擬化

2012-05-30 17:59:17

2012-05-25 17:21:49

技術(shù)門診技術(shù)人軟考

2012-05-25 18:12:48

技術(shù)門診技術(shù)人軟考

2021-12-17 07:47:37

IT風(fēng)險框架

2022-03-26 09:06:40

ActorCSP模型

2025-02-13 08:04:49

spliceCPU數(shù)據(jù)

2017-03-15 15:11:52

開發(fā)者

2009-10-29 16:22:10

VB.NET操作MyS

2025-04-01 01:25:00

MySQLInnoDBMyISAM

2017-11-20 10:37:03

2024-08-05 00:04:00

JSWeb應(yīng)用

2023-12-23 18:04:40

服務(wù)Eureka工具

2022-02-16 19:42:25

Spring配置開發(fā)

2017-11-20 10:35:36

2024-05-16 11:13:16

Helm工具release

2021-09-16 10:29:05

開發(fā)技能代碼

2009-11-09 12:55:43

WCF事務(wù)

2024-12-18 10:24:59

代理技術(shù)JDK動態(tài)代理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號