美麗涵涵童裝店--說我博客名字,給你們打折!
          隨筆 - 82  文章 - 266  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345


          點擊這里給楊愛友發(fā)消息
          美麗涵涵童裝店
          說我博客名字,給你們打折!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章檔案

          好友的BLOG

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          vim
          1. 刪除行命令
          dd: 刪除游標所在的一整行(常用)
          ndd: n為數(shù)字。刪除光標所在的向下n行,例如20dd則是刪除光標所在的向下20行
          d1G: 刪除光標所在到第一行的所有數(shù)據(jù)
          dG: 刪除光標所在到最后一行的所有數(shù)據(jù)
          d$: 刪除光標所在處,到該行的最后一個字符
          d0: 那個是數(shù)字0,刪除光標所在到該行的最前面的一個字符
          x,X: x向后刪除一個字符(相當于[del]按鍵),X向前刪除一個字符(相當于[backspace]即退格鍵) 
          2. 插入命令
          I 在當前行首插入
          A 在當前行尾插入
          o 在當前行之后插入一行
          O 在當前行之前插入一行
          3. 移動命令
          w 向前移動一個單詞(光標停在單詞首部),如果已到行尾,則轉(zhuǎn)至下一行行首。此命令快,可以代替l命令。

          b 向后移動一個單詞 2b 向后移動2個單詞
          到指定行,冒號+行號,回車,比如跳到240行就是 :240回車
          Ctrl + e 向下滾動一行
          Ctrl + y 向上滾動一行
          Ctrl + f 向下滾動一屏
          Ctrl + b 向上滾動一屏    
          4. 拷貝和粘貼
          yy 拷貝當前行
          nyy 拷貝當前后開始的n行,比如2yy拷貝當前行及其下一行。
          p  在當前光標后粘貼,如果之前使用了yy命令來復制一行,那么就在當前行的下一行粘貼。
          shift+p 在當前行前粘貼
          ...
          posted @ 2019-01-29 13:59 楊愛友 閱讀(197) | 評論 (0)編輯 收藏
          參考文章:
          http://wenku.baidu.com/link?url=kq8VcGwEedCn5hHdSDbPsQrJCapBZje0DRRzyvEOkpqVOEP5XV--dtSL3RNC9a5Mf9K3mSJOGVwYt8VHjpUoBVTQ0L5z3WOSV-dTpSgs-My

          用一張空的U盤,利用支持軟件和ISO鏡像文件制作安裝盤,然后將USB3.0驅(qū)動程序放進U盤

          在格式化步驟,格式化完之后要加載USB3的驅(qū)動程序,否則安裝WIN7后無法使用鼠標和鍵盤
          參考文章:http://bbs.feng.com/read-htm-tid-8203477.html

          啟動WIN7后,可能出現(xiàn)黑屏“無法驗證簽名文件”,把windows\system32\drivers 里面那個AppleSSD.sys干掉
          參考文章:
          http://bbs.feng.com/read-htm-tid-9791867.html

          最后進入WIN7系統(tǒng),此時之后一個盤符,需要再進行分盤,按照網(wǎng)上介紹,“壓縮卷--新建簡單分區(qū)“進行,發(fā)現(xiàn)竟然把原有MAC系統(tǒng)干掉了,這里千萬注意!

          然后就是到bootcamp/drivers下面找一些網(wǎng)絡(luò)、顯卡等的驅(qū)動進行點擊安裝。
          posted @ 2015-09-25 16:48 楊愛友 閱讀(291) | 評論 (0)編輯 收藏
               摘要: 先在客戶端注冊一個callback, 然后把callback的名字傳給服務(wù)器。

          此時,服務(wù)器先生成 json 數(shù)據(jù)。
          然后以 javascript 語法的方式,生成一個function , function 名字就是傳遞上來的參數(shù) jsonp.

          最后將 json 數(shù)據(jù)直接以入?yún)⒌姆绞剑胖玫?function 中,這樣就生成了一段 js 語法的文檔,返回給客戶端。

          客戶端瀏覽器,解析script標簽,并執(zhí)行返回的 javascript 文檔,此時數(shù)據(jù)作為參數(shù),傳入到了客戶端預先定義好的 callback 函數(shù)里.(動態(tài)執(zhí)行回調(diào)函數(shù))
          美麗涵涵童裝店
            閱讀全文
          posted @ 2014-10-29 14:57 楊愛友 閱讀(9384) | 評論 (5)編輯 收藏
               摘要: Spring源代碼解析(一):IOC容器:http://www.javaeye.com/topic/86339
          Spring源代碼解析(二):IoC容器在Web容器中的啟動:http://www.javaeye.com/topic/86594
          Spring源代碼解析(三):Spring JDBC:http://www.javaeye.com/topic/87034
          Spring源代碼解析(四):Spring MVC:http://www.javaeye.com/topic/87692
          Spring源代碼解析(五):Spring AOP獲取Proxy:http://www.javaeye.com/topic/88187
          美麗涵涵童裝店
            閱讀全文
          posted @ 2014-10-29 14:54 楊愛友 閱讀(2720) | 評論 (0)編輯 收藏
               摘要: 提高淘寶店鋪訪問量辦法  閱讀全文
          posted @ 2014-10-29 14:34 楊愛友 閱讀(4710) | 評論 (0)編輯 收藏
               摘要: Spring源碼學習-bean加載
          一個applicationContext.xml配置文件,這個不可少
          一個bean,這里我沒用接口,直接用一個普通的類做為Spring的bean
          一個Junit測試類  閱讀全文
          posted @ 2014-08-29 10:47 楊愛友 閱讀(10867) | 評論 (3)編輯 收藏

          學習源碼是一件非常耗時費力的事情,需要有足夠的時間和持久的耐心,下面是我閱讀郝佳老師的《Spring源碼深度解析》所做的記錄,書中以Spring3.2講解,使用jdk1.7。

          準備工作

          1. 安裝github:現(xiàn)在spring源代碼都在github管理,所以首先需要下載githup,下載地址http://windows.github.com;

          2. 安裝gradle構(gòu)建工具:下載地址http://www.gradle.org/downloads,下載完后進行解壓到任意盤符,然后增加環(huán)境變量GRADLE_HOME,并在環(huán)境變量bin中增加%GRADLE_HOME%/bin,打開DOS窗口,運行g(shù)radle -v,出現(xiàn)版本號等信息,表示安裝成功;

          3. 下載Spring源碼:首先打開git shell,切換到你的工作目錄,然后輸入以下命令:git clone git://github.com/SpringSource/Spring-framework.git,后面一串是源碼下載地址。大概半小時的樣子,就可以下載完成,這時候在你的工作目錄中就會出現(xiàn)Spring-framework的目錄,里面有Spring各組件的源碼包;

          4. 構(gòu)建導入:下載下來的代碼不能直接導入Eclipse,要先轉(zhuǎn)換成Eclipse能讀取的形式。因為所有組件都會依賴spring-core,所有我們首先要轉(zhuǎn)換Spring-core工程,在命令窗口切換到Spring-core工程,運行g(shù)radle cleanidea eclipse命令,我們會看到開始下載工程所依賴的jar包,幾分鐘后執(zhí)行完畢,再來看Spring-core文件夾,多了.classpath、.project等文件,這是Eclipse工程所必須的,然后可以把他導入到eclipse。因為大部分Spring組件都會用到 spring-beans、spring-context、spring-aop,而他們又依賴spring-expression、spring-instrument,所以我們干脆先把這些工程都進行轉(zhuǎn)換并導入eclipse。

          我初次導入過程并不順利,拿spring-core為例,其中以來的一個jar包是Spring-framework/spring-core/build/libs/spring-asm-repack-4.0.jar,但我工程里面并沒有他,只好在網(wǎng)上下載了一個,并加入構(gòu)建路徑,其次我還發(fā)現(xiàn)少commons-pool-1.5.3.jar、spring-cglib-repack-3.0.jar,都一一下載,最后還是報錯沒有java.util.concurrent.ForkJoinPool類,發(fā)現(xiàn)這個版本必須使用jdk1.7以上,1.6沒有這個包。折騰半天,終于幾個工程沒變異錯誤了,向前邁進了一步。




          posted @ 2014-08-21 16:04 楊愛友 閱讀(5952) | 評論 (2)編輯 收藏

          場景1:aService里面有個savePerson方法,里面將調(diào)用bService中的保存方法進行保存;

              aService代碼:
          @Transactional(propagation=Propagation.REQUIRED)
          public void savePerson() {
          Person p1 = new Person();
          p1.setName("yangay");
          Person p2 = new Person();
          p2.setName("lisan");
          messageBean.saveTwo(p1, p2);
          messageBean.savePerson(null);
          }
               bService代碼:
                @Transactional(propagation=Propagation.REQUIRED)
          public void saveOne(Person p){
          this.dao.save(p);
          }
          @Transactional(propagation=Propagation.REQUIRES_NEW)
          public void saveTwo(Person p1,Person p2){
          this.dao.save(p1);
          this.dao.save(p2);
          }
              因為saveTwo的傳播特性設(shè)置為requires_new,saveTwo方法單獨起一個事務(wù),所以當調(diào)用saveOne拋出異常之后,不會影響saveTwo事務(wù)提交,事實上,在saveTwo返回之前已經(jīng)將事務(wù)提交,所以p1、p2對象能保存入庫;
              如果將saveTwo方法的傳播特性設(shè)置為required,這時候三個方法公用一個事務(wù),當saveOne拋出異常后,整個事務(wù)回滾,數(shù)據(jù)不能入庫;

          場景2:
           aService代碼:
          @Transactional(propagation=Propagation.REQUIRED)
          public void savePerson() {
          try{
          Person p1 = new Person();
          p1.setName("yangay");
          Person p2 = new Person();
          p2.setName("lisan");
          messageBean.saveTwo(p1, null);
          }catch(Exception ex){
          ex.printStackTrace();
          }
          }
           bService代碼:
                  @Transactional(propagation=Propagation.REQUIRED)
          public void saveTwo(Person p1,Person p2){
          this.dao.save(p1);
          this.dao.save(p2);
          }
               因為異常被catch了,所以事務(wù)不回滾,p1正常入庫;
          場景3:
           aService代碼:
          @Transactional(propagation=Propagation.REQUIRED)
          public void savePerson() {
          try{
          Person p1 = new Person();
          p1.setName("yangay");
          Person p2 = new Person();
          p2.setName("lisan");
          messageBean.saveOne(p1);
          messageBean.saveTwo(p2, null);
          }catch(Exception ex){
          ex.printStackTrace();
          }
          }
           bService代碼:
                  @Transactional(propagation=Propagation.REQUIRED)
          public void saveOne(Person p){
          this.dao.save(p);
          }
          @Transactional(propagation=Propagation.REQUIRED)
          public void saveTwo(Person p1,Person p2){
          this.dao.save(p1);
          this.dao.save(p2);
          }
                  開始以為有了try catch,p1能保存進去,但經(jīng)過測試,發(fā)現(xiàn)會報錯。因為saveTwo時拋出異常,首先被spring框架個catch住,將事務(wù)標記為rollbackonly,然再往出拋異常,最后被savePerson方法catch住,所以事務(wù)能夠提交,但當提交的時候,發(fā)現(xiàn)標志位已經(jīng)被設(shè)置了,不應(yīng)該去提交了,然后吭哧吭哧的回滾調(diào),再提示你已經(jīng)被設(shè)置成rollback-only了。
                  但如果saveTwo的傳播特性改為require_new,因為他單起一個事務(wù),不會影響父事務(wù)的提交,所以p1能保存,p2失敗;

          場景4:
          事務(wù)在多個對象之間才有傳播特性
          @Override
          public void savePerson() {
          Person p1 = new Person();
          p1.setName("yangay");

          Person p2 = new Person();
          p2.setName("lisan");

          saveTwo(p1,null);
          }

          @Transactional(propagation=Propagation.REQUIRED)
          public void saveTwo(Person p1,Person p2){
          messageBean.saveOne(p1);
          messageBean.saveOne(p2);
          }
              兩個方法在一個類里面,saveTwo并沒有事務(wù),p1能提交;但如果把saveTwo放到另外一個類,則saveTwo就會有事務(wù),p1不能提交;
              如果要同一個類里面的saveTwo執(zhí)行事務(wù),可在配置文件增加<aop:aspectj-autoproxy expose-proxy="true"/>,然后((Iservice)AopContext.currentProxy()).saveTwo(),這樣執(zhí)行的就是代理的方法,就會有事務(wù)(Iservice必須是你定義的接口)
          posted @ 2014-08-08 15:43 楊愛友 閱讀(2746) | 評論 (0)編輯 收藏
          當我把jboss/client下的所有jar和ejb工程jar方到web工程下,編寫main函數(shù)可以調(diào)用到EJB的bean,而將web工程發(fā)布出去后,就調(diào)用不到了,報錯“javax.naming.NameNotFoundException: xxx not bound”,折騰了五六個小時,網(wǎng)上說了各種各樣的原因,都沒能解決,最后看這位兄弟的文章,問題才得以解決。
          http://blog.163.com/zzk331@126/blog/static/142674599200957111441126/
          如果你的問題解決了,請回復我!
          posted @ 2014-05-28 16:56 楊愛友 閱讀(6293) | 評論 (0)編輯 收藏
               摘要: 來到互聯(lián)網(wǎng)公司,需要開發(fā)EJB程序,用兩天的時間先學習了EJB的開發(fā)流程,我用的開發(fā)環(huán)境是myeclipse、jboss4.2、ejb3.0、struts1.3.8、jkd6、oracle、JPA,頁面展現(xiàn)用到velocity。其實這不是一個春對ejb的學習文章,因為里面涉及了跟ejb無關(guān)的struts、velocity,如果單純學習寫ejb的helloword,數(shù)據(jù)庫都不用連接,下面我描述下helloword程序的實現(xiàn)過程。
          雖然技術(shù)含量不高,但寫的很辛苦,需要占用首頁一個位置。  閱讀全文
          posted @ 2014-05-28 15:28 楊愛友 閱讀(5793) | 評論 (4)編輯 收藏
          僅列出標題  下一頁
          美麗涵涵童裝店
          親,說我博客名字,給你們打折!
          主站蜘蛛池模板: 通海县| 溧水县| 紫金县| 上虞市| 安达市| 张北县| 舟山市| 屏山县| 澎湖县| 唐河县| 台东县| 无锡市| 休宁县| 阿鲁科尔沁旗| 崇明县| 天台县| 讷河市| 林甸县| 邢台市| 涿鹿县| 大竹县| 海宁市| 金乡县| 南康市| 潞城市| 从化市| 高唐县| 佛学| 邵阳县| 彩票| 鹤峰县| 搜索| 如皋市| 宁强县| 伊春市| 武平县| 凤凰县| 从江县| 金昌市| 策勒县| 琼中|