時光如水

          我心跳動
          posts - 6, comments - 10, trackbacks - 0, articles - 4
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2005年12月9日

          AOP配置
          1. 創建增強advice
          2. 用ProxyFactoryBean配置增強advice或增強器advisor(增強和切入點組合)


          大多數Spring自帶的切入點都有一個對應的PointcutAdvisor,這樣方便在一個地方定義切入點和通知
          ???????????????????????????NameMatchMethodPointcut-->NameMatchMethodPointcutAdvisor增強器
          ???????靜態切入點??? RegexMethodPointcut-->RegexMethodPointcutAdvisor增強器
          切入點??
          ???????動態切入點??? ControlFlowPointcut


          AOP常見例子:
          Spring配置文件
          <bean name="/searchSubmit" class="ca.nexcel.books.actions.SearchSubmit">
          ?<property name="bookService">
          ??<ref bean="bookService"/>
          ?</property>
          </bean>
          <bean name="logger" class="ca.nexcel.books.interceptors.LoggingInterceptor"/> |(1)
          <!-- AutoProxies -->
          <bean name="loggingAutoProxy" class="org.springframework.aop.framework.autoproxy.
          ?BeanNameAutoProxyCreator"> |(2)
          ???? <property name="beanNames">
          ?<value>/searchSubmit</valuesgt; |(3)
          ???? </property>
          ???? <property name="interceptorNames">
          ?<list>
          ???? <value>logger</value> |(4)
          ?</list>
          ???? </property>
          </bean>
          其中(1)注冊攔截器
          ????? (2)創建了一個 bean名稱自動代理,它描述如何應用攔截器。
          ????? (3)將Struts動作注冊為將被攔截的bean。如果您想要攔截其他的Struts 動作,則只需要在 "beanNames" 下面創建附加的<value>標記
          ????? (4)執行的攔截器bean的名稱

          posted @ 2006-05-16 16:41 qiqijava 閱讀(595) | 評論 (0)編輯 收藏

          ?

          兩個主要容器

          BeanFactory?????????????????? XmlBeanFactory???????????????????????????????

          ??????????????????????????????????? FileSystemXmlApplicationContext

          ApplicationContext?????????? ClassPathXmlApplicationContext

          ??????????????????????????????????? XmlWebApplicationContext

          區別:

          BeanFactory????? 延遲載入所有Bean,直到getBean()被調用才創建Bean

          ApplicationContext 啟動后加載所有Bean

          ?

          Bean生命周期:BeanFactory容器

          ?

          實例化

          ? 設置屬性

          ??? 調用BeanNameAwaresetBeanName()方法

          ?????? 調用BeanFactoryAwaresetBeanFactory()方法

          ????????? 調用ApplicationContextAwaresetApplicationContext()方法(如果容器為ApplicationContext)

          ????????? 調用BeanPostProcessor的預初始化方法

          ???????????? 調用InitializingBeanafterPropertiesSet()方法

          ???????????? 調用定制的初始化方法(init-method參數配置的方法)

          ????????? 調用BeanPostProcessor的后初始化方法

          至此Bean可以被使用

          ?

          調用DisposableBeandestroy()方法

          調用定制的銷毀方法(destroy-method參數配置的方法)

          至此Bean被銷毀

          ?

          BeanFactoryPostProcessor例子

          1. PropertyPlaceholderConfigurer

          ??? 從多個外部屬性文件中載入屬性,并使用這些屬性替換占位符變量

          <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

          ??? <property name="locations">

          ??????? <list>

          ?<value>WEB-INF/mail.properties</value>

          ?<value>WEB-INF/jdbc.properties</value>

          ??????? </list>

          ???? </property>

          </bean>

          1. CustomEditorConfigurer

          ??? 注冊定制的java.bean.PropertyEditor實現,用它把裝配的屬性轉化為其他類型,可使用String設置給一個非String屬性

          posted @ 2006-05-16 16:38 qiqijava 閱讀(541) | 評論 (0)編輯 收藏

          便利的實現

          模板方法:

          ????? 將流程中的可變部的具體實現委托給一個接口,這個接口的不同實現定義了可變部分的具體實現

          Spring 把數據訪問流程中的固定部分與可變部分分開,分別映射成兩個類:模板 Template ,回調 Callback ,模板管理流程的固定部分,回調處填寫實現細節

          ?

          DAO 模板

          ?

          1. 準備資源

          2. 啟動事務

          5. 提交 / 回滾事務

          6. 關閉資源和處理異常

          DAO 回調

          ?

          ?

          3. 在事務中執行

          4. 返回數據

          DAO 支持類

          ?

          ???? 繼承

          關聯

          ?

          ?

          posted @ 2006-05-16 16:36 qiqijava 閱讀(687) | 評論 (0)編輯 收藏

          解決這類問題的方法很多,今天在此簡單的終結一下,把常碰到的問題解決方法記下來!
          1,   MySQL5.0中文問題解決方案如下: 
              1、在dos環境下,用mysql --default-character-set=gbk -u root -p 這句話進入mysql~~ 
              2、建數據庫、表,如下: 
                  create database admin; 
                  use admin; 
                  CREATE TABLE admin ( 
                  admin_name char(20) NOT NULL, 
                  admin_password char(20) NOT NULL 
                  ) TYPE=MyISAM, default character set gbk;

          2,  JDBC的設置問題:(這里主要講的是mysql-connector-java-3.1.8這個JDBC驅動程序而言
              這只是一個壓縮包,并不需要安裝,只要將其解壓,使用的是文件夾mysql-connector-java-3.1.8里的文件:mysql-connector-java-3.1.8-bin.jar 
               需要配置環境變量的是JDBC驅動.在配置前先要把剛才說到的mysql-connector-java-3.1.8-bin.jar放到本地硬盤某處(我放的地方:E:\JAVA\MySQLJDBC),然后根據你放的地方,配置classpath,我的配置是這樣的:
          .;E:\Java\j2se5.0\lib\tools.jar; E:\Java\j2se5.0\lib\mysql-connector-java-3.1.8-bin-g.jar; E:\JAVA\MySQLJDBC\mysql-connector-java-3.1.8-bin.jar

              配置這個的目的是讓你的java應用程序找到連接mysql的驅動. 
                配置完環境變量后還有很重要一步就是為JSP連接數據庫配置驅動,這個其實很簡單,就是把mysql-connector-java-3.1.8-bin.jar拷到某些文件夾里就行了,我在網上看了很多資料問了很多人,各種說法都有,我綜合了一下,為了保險,我都全做了,呵呵,反正就是拷一個400K的文件而已,現列出要把mysql-connector-java-3.1.8-bin.jar拷進去的文件夾,如下:
          E:\Java\Tomcat5.0\common\lib
          E:\Java\Tomcat5.0\shared\lib 
               一般情況下只要考到Tomcat5.0上面的兩個問題夾里面就可以解決問題了,如果需要,也可以將mysql-connector-java-3.1.8-bin.jar這個驅動文件拷貝到你的WEB站點的  …\WEB-INF\lib 目錄下面。

          3,  Eclipse中數據庫插件中操作數據庫時的中文編碼問題:
          當在Eclipse中裝上來你所喜歡的數據庫插件的時候,都會出現在你查詢某一個數據庫之后出現記錄中的漢字亂碼。解決方法很簡單,只要在你建立數據庫連接的時候把URL設置成下面這個樣子就可以了:
                     URL= jdbc:mysql://localhost:3306/?useUnicode=true&characterEncoding=GBK

          4,   JSP網頁編輯中個人經驗:在經過很多的次調試之后,發現在裝了myeclipse之后,有這么條小巧:
          在用myeclipse編寫HTML文件時charset=GBK設置成這個樣子,那么在瀏覽器中瀏覽時就不會出現亂碼;
          而在用myeclipse編輯JSP文件時,<%@ page contentType="text/html;charset=GB2312" %>設置成這樣子,且這條語句必須是整個JSP文件的第一條語句,就可以避免JSP文件在瀏覽器中顯示時出現亂碼;    對于如果在JSP網頁中要從HTML頁面中接收數據,那么在JSP中的接收語句的漢字編碼應與數據來源的HTML的漢字編碼相同;例如中的HTML的漢字編碼為charset=GBK那么在JSP中的接收語句就應該這樣設置:request.setCharacterEncoding("GBK");如果還要將接受的數據插入到數據庫中(以插入MySQL5.0數據庫為例),那么在插入數據庫時的漢字編碼也應與HTML文件中的漢字編碼相同,我的設置如下:con= DriverManager.getConnection("jdbc:mysql://localhost:3306/sample_db?user=dazern&password=5201314&useUnicode=true&characterEncoding=GBK");這樣設置后數據庫中的數據才不會亂碼.

              以上經驗都是在myeclipse3.8.3+Tomcat5.0.28中測試過,沒有錯誤!在此僅供大家借鑒,具體情況還得具體分析!

          posted @ 2006-02-27 09:27 qiqijava 閱讀(763) | 評論 (0)編輯 收藏

           1. java2s  http://www.java2s.com/
             這個網站非常好,分成三大類,分別是ExampleProducts Articles,每個大類下又分別設許多小類,還有搜索功能,這樣查找起來非常方便。。比如,如果要學習SWT/JFace,只要把Example下的SWT JFace Eclipse 研究一下也就可以了。另外,這個網站還有JavaScript DHTMLC# / C SharpC / ANSI-CSQL / MySQL等類。總之,非常好。
             這是O'Reily旗下的,除了Java之外,還有Ruby、Python。
           
            3. Java學習源代碼檢索系統  http://www.chinaitlab.com/www/school/codesearch/index.html
             難得看見國產的,好歹也要支持一下,分類也算清楚。
           
            4. Koders  http://www.koders.com/
             是個綜合查詢的網站,不過它好像是從代碼中查找關鍵詞,包含的語言挺多的。
            5. Resources for Java server-side developers  http://www.java201.com/
             確切的說,它是一個資源收集的網站,代碼查詢并不多。不過它分類相當細,如Articles、Books、Examples、Extensions、Frameworks等類,你可以輸入Spring或Hibernate作為關鍵詞搜索一下看看。

          posted @ 2006-02-15 10:28 qiqijava 閱讀(242) | 評論 (0)編輯 收藏

          今天想寫個隨筆,是關于spring的,可有些關系圖不知道用什么畫好。在這上面還沒法畫。想想還是先學習visio怎么用吧。真是書到用時方恨少呀。等學完了再寫這個隨筆吧。第二篇不知道要等到何年何月了。

          posted @ 2005-12-09 14:22 qiqijava 閱讀(191) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 高阳县| 兰溪市| 延庆县| 昭平县| 新乡县| 德清县| 定结县| 海淀区| 内乡县| 老河口市| 兴业县| 湾仔区| 舟山市| 慈利县| 潼南县| 保山市| 鄂尔多斯市| 柳河县| 邓州市| 社旗县| 恩施市| 阳信县| 西平县| 东港市| 宣化县| 中江县| 建德市| 亚东县| 洛阳市| 陕西省| 宝应县| 丰台区| 合水县| 威远县| 台湾省| 德化县| 鄢陵县| 商丘市| 康定县| 通江县| 曲松县|