最愛Java

          書山有路勤為徑,學海無涯苦作舟

                小弟最近正在找工具,閑來無事就用Extjs編寫一個求職管理的小工具,來記錄曾發送簡歷過的公司。特發上來請高手指點一下。
                相關說明:
                 1. 頁面還是很簡單的,就一個,如下。“新建職位”和“查詢職位”不用多說了吧?“發送簡歷”就是把數據庫中沒有發送的職位一個一個發送簡歷。由于個人使用,所有就沒必要選哪個發哪個不發了吧?不發的你也沒必要添加進來啊!
                  

          2. 配置
               如何建立數據庫什么的,就不說了。反正就一個表,sql也有。applicationContext.xml文件,知道這個文件的基本都會玩,記得配置數據庫哦!還有一個就是和配置簡歷有點關系。在<bean id="mailManager" class="com.job.mail.MailManager">里面你需要配置一下讀取你簡歷的目錄,發送郵件的一些smtp信息。上述配置好基本就可以了。這里要說一下,在我本地,MailManager讀的是和applicationContext.xml同一目錄下的conf目錄,該目錄下有兩個properties文件,系統就認為我有兩種類型的簡歷了。在添加職位的時候可以選發送哪種簡歷。而properties文件中是真正配置如何發送郵件的信息。由于使用apache的email包,所以配置項條目是一樣的。

               特別希望大家對我這個工具提出意見和建議,謝謝!

          下載文件://Files/zhengzhili/job.rar (由于只能上傳4M的附件,所以沒法上傳引用庫,請自行下載,所用到的引用庫為spring,struts和apache的common.mail)
          posted @ 2008-12-01 17:15 Brian 閱讀(1554) | 評論 (2)編輯 收藏

          附帶示例 

          也可以從http:/www.oreilly.com.cn/book.php?bn=7-302-14011-1查詢

          posted @ 2008-08-29 16:14 Brian 閱讀(1675) | 評論 (12)編輯 收藏
          一. 捕獲何時執行通知
                  
          使用adviceexecution()切入點。adviceexecution()切入點的語法如下:
                  pointcut <pointcut name>() : adviceexecution();
          package com.aspectj;

          public aspect AdviceExecutionRecipe 
          {
             
          /*
                 Specifies calling advice whenever advice is executed
             
          */

             pointcut adviceExecutionPointcut() : adviceexecution();

             
          // Advice declaration
             before() : adviceExecutionPointcut()
             
          {
                System.out.println(
                   
          "------------------- Aspect Advice Logic --------------------");
                System.out.println(
          "In the advice picked by ExecutionRecipe");
                System.out.println(
                   
          "Signature: "
                      
          + thisJoinPoint.getStaticPart().getSignature());
                System.out.println(
                   
          "Source Line: "
                      
          + thisJoinPoint.getStaticPart().getSourceLocation());
                System.out.println(
                   
          "------------------------------------------------------------");
             }

          }


          二. 排出作為通知執行結果的連接點
          三. 在發出通知時展示原始連接點
                  
          添加JoinPoint標識符到切入點定義中。
          package com.aspectj;

          import org.aspectj.lang.JoinPoint;

          public aspect AdviceExecutionRecipe 
          {
             
          /*
                 Specifies calling advice whenever advice is executed
             
          */

             pointcut adviceExecutionPointcut(JoinPoint originalJoinPoint) : adviceexecution() 
          && args(originalJoinPoint) && !within(AdviceExecutionRecipe);

             
          // Advice declaration
             before(JoinPoint originalJoinPoint) : adviceExecutionPointcut(originalJoinPoint)
             
          {
                System.out.println(
                   
          "------------------- Aspect Advice Logic --------------------");
                System.out.println(
          "In the advice picked by AdviceExecutionRecipe");
                System.out.println(
                   
          "Signature: "
                      
          + thisJoinPoint.getStaticPart().getSignature());
                System.out.println(
                   
          "Source Line: "
                      
          + thisJoinPoint.getStaticPart().getSourceLocation());
                
                System.out.println(
                      
          "Advised Advice's Join Point Signature: "
                         
          + originalJoinPoint.getSignature());
                
                System.out.println(
                   
          "------------------------------------------------------------");
             }

          }


           
          posted @ 2008-08-29 16:09 Brian 閱讀(375) | 評論 (0)編輯 收藏
               摘要: 一. 應用開發指導和規則         想通過提供一種在編譯時強制執行的策略,來控制在應用程序中允許哪些程序構造。可使用Border Controller(邊界控制器)面向方面設計模式聲明代碼內的一組區域。當依據策略模式在方面中為項目聲明任何頂級規則時,重用這些區域。可以擴展項目的頂級策略,為應用程序的特定區域特殊...  閱讀全文
          posted @ 2008-08-29 15:47 Brian 閱讀(292) | 評論 (0)編輯 收藏
               摘要:         應用程序級方面會影響軟件相當多的區域,他們通常是軟件的特征,將會影響應用程序中的許多類。本節介紹系統級的橫切關注點集合,其中可以使用AspectJ更好地實現它們的特征。本節可以分成兩類:被動方面和主動方面。         ...  閱讀全文
          posted @ 2008-08-29 14:24 Brian 閱讀(445) | 評論 (0)編輯 收藏
               摘要: 一.驗證傳遞給方法的參數         創建一個模塊化參數檢查邏輯的方面。聲明一個切入點,用于捕獲其中將檢查參數的方法的執行。切入點應該把參數展示給相應的通知使得它可以執行檢查。         依賴于參數檢查的結果,通知將繼續執行方...  閱讀全文
          posted @ 2008-08-29 11:18 Brian 閱讀(341) | 評論 (0)編輯 收藏
               摘要: 一.實現觀察者模式         觀察者模式允許設計者創建對象之間的依賴關系,使得如果一個對象的狀態發生變化,則通知另一個對象,并且它可能會產生相應的行動。 package com.aspectj; import java.util.List; import java.uti...  閱讀全文
          posted @ 2008-08-29 10:04 Brian 閱讀(310) | 評論 (0)編輯 收藏
               摘要: 一.實現復合模式         復合模式能夠把集合中的對象組合在一起,并且以某種方式與整個組交互,這種交互式類似于同組中的單個成員進行交互。 package com.aspectj; import java.util.Enumeration; import java.util...  閱讀全文
          posted @ 2008-08-28 10:49 Brian 閱讀(1052) | 評論 (0)編輯 收藏
               摘要: 一.實現單件模式         單件模式允許把類定義成具有應用程序內的一個運行時實例。通常,通過不給特定類提供默認構造函數來實現單件。 package com.aspectj; import java.util.Hashtable; public abstract&nbs...  閱讀全文
          posted @ 2008-08-27 11:00 Brian 閱讀(1132) | 評論 (0)編輯 收藏
                  本章節說明了如何使用靜態橫切技術,以靜態方式使用AspectJ中的方面把行為和接口引入現有的類中。使用這些技術,可以擴展類來實現接口,從新的父類擴展類,引入新方法和屬性,減輕說發生異常的影響,以及繼承多個基類。
          一.擴展現有的類
          package com.aspectj;

          public aspect ExtendClassRecipe {
              
          private int MyClass.newVariable = 20;
              
              
          public int MyClass.bar(String name) 
                  System.out.println(
          "In bar(String name) , name:" + name);
                  
          return this.newVariable; 
              }

          }

           
                  示例中將屬性newVariable和方法bar(String)添加到了MyClass類中。

          二.聲明類之間的繼承關系
              使用declare parents語句,指定特定的類是從另一個類擴展而來。
              以下代碼說明了如何為MyClass類指定新的繼承關系
          package com.aspectj;

          public aspect IntroduceInheritanceRecipe {
              declare parents:MyClass 
          extends AnotherClass;
          }

          三.使用方面實現接口
              使用declare parents語句,指定特定的類實現特定的接口。
          package com.aspectj;

          public aspect ImplementInterfaceRecipe {
              declare parents:MyClass 
          implements MyInterface;
          }
              把接口應用于現有類的能力允許通過接口類型的引用那個類的對象,如:
          //Create an instance of MyClass
          MyInterface myObject = new MyClass();
          //
          //Work with the interface reference
          myObject.foo(1,"Russ");

          四.聲明默認的接口實現
          package com.aspectj;

          public aspect DefaultInterfaceImplementationRecipe {
              declare parents:MyClass 
          implements MyInterface;

              
          //public void MyInterface.bar(String name) {
                  
          //System.out.println("bar(String) called on " + this);
              
          //}
          }

          五.減輕異常的影響
              使用declare soft語句,可以指定一組應該減輕其影響的異常--也就是說,在通過特定連接點選擇的連接點上引發這些異常時,將其轉換成未捕獲的異常。
              示例中說明了減輕在void foo()方法上引發的ExcepionA異常的影響,使得該方法的用戶不必關心如何處理這個異常。
          package com.aspectj;

          public aspect SoftExceptionRecipe {
              pointcut callPointCut() : call(
          void MyClass.foo());
              declare soft : ExceptionA : callPointCut();
          }

          六.擴展編譯
          分別使用declare error或declare warning語句,指定應該引發編譯器錯誤或警告的條件。
          示例說明了如何聲明一個新的錯誤和警告,如果在正在編譯的應用程序內發現指定的條件,編譯器就會引發該錯誤或警告。
          package com.aspectj;

          public aspect CompilaionAdviceRecipe {
              declare error:call(
          void ProtectedAccessClass.setValue(int))  : "Must only set the ProtectedAccessClass.value from a MyClass object";
              
              declare warning:call(
          void ProtectedAccessClass.getValue()) :"Should only be reading ProtectedAccessClass.value from a MyClass object";
          }

          posted @ 2008-08-27 09:31 Brian 閱讀(469) | 評論 (0)編輯 收藏
          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 

          公告


          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 通山县| 蒙城县| 兴业县| 阿勒泰市| 甘德县| 乐陵市| 基隆市| 沽源县| 类乌齐县| 文安县| 湄潭县| 双牌县| 东辽县| 高台县| 利津县| 克什克腾旗| 禹城市| 广南县| 佳木斯市| 肇东市| 泸溪县| 嘉峪关市| 来凤县| 特克斯县| 新沂市| 鹤山市| 泸定县| 九龙县| 墨脱县| 平罗县| 桑日县| 盐津县| 崇州市| 泸州市| 三门峡市| 新建县| 定远县| 滦南县| 泸溪县| 云和县| 刚察县|