??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产婷婷香蕉久久久久久99,亚洲精品久久久久久一区二区,中文字幕不卡在线视频极品http://www.aygfsteel.com/xfuboywz/archive/2014/05/11/413527.html7777Sun, 11 May 2014 13:36:00 GMThttp://www.aygfsteel.com/xfuboywz/archive/2014/05/11/413527.htmlhttp://www.aygfsteel.com/xfuboywz/comments/413527.htmlhttp://www.aygfsteel.com/xfuboywz/archive/2014/05/11/413527.html#Feedback0http://www.aygfsteel.com/xfuboywz/comments/commentRss/413527.htmlhttp://www.aygfsteel.com/xfuboywz/services/trackbacks/413527.html2014-5-11

77 2014-05-11 21:36 发表评论
]]>
2007q??2? 唯音数码http://www.aygfsteel.com/xfuboywz/archive/2007/03/22/105552.html7777Thu, 22 Mar 2007 06:22:00 GMThttp://www.aygfsteel.com/xfuboywz/archive/2007/03/22/105552.htmlhttp://www.aygfsteel.com/xfuboywz/comments/105552.htmlhttp://www.aygfsteel.com/xfuboywz/archive/2007/03/22/105552.html#Feedback1http://www.aygfsteel.com/xfuboywz/comments/commentRss/105552.htmlhttp://www.aygfsteel.com/xfuboywz/services/trackbacks/105552.html

77 2007-03-22 14:22 发表评论
]]>
不说? 向他们学习?/title><link>http://www.aygfsteel.com/xfuboywz/archive/2007/03/12/103379.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Mon, 12 Mar 2007 11:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/xfuboywz/archive/2007/03/12/103379.html</guid><wfw:comment>http://www.aygfsteel.com/xfuboywz/comments/103379.html</wfw:comment><comments>http://www.aygfsteel.com/xfuboywz/archive/2007/03/12/103379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xfuboywz/comments/commentRss/103379.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xfuboywz/services/trackbacks/103379.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US">2007</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q?/span> <span lang="EN-US">3</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">12</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US"> <span style="mso-spacerun: yes">          </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">星期一</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">刚才偶然看到一?/span> <span lang="EN-US">msn, achqian@hotmail.com,</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在技术列表中</span> <span lang="EN-US">.</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">估计是个?/span> <span lang="EN-US">java</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">.</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q我很少乱加</span> <span lang="EN-US">MSN </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好友Q?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后来览他的博客才知?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q个人就是发?/span> <span lang="EN-US">webwork</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">作者,很吃惊呀?/span> <span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">ȝ看个人简介?/span> <span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">82</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">q出生的?/span> <span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">04</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">q?/span> <span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">6</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">月就已经发布?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最?/span> <span lang="EN-US">WebWork</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">教程</span> <span lang="EN-US">0.90</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">留下的只有吃惊和想不到。又一个技术牛人呀?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我dƢ把一个h的成和q龄d比较。我更钦佩那些年龄不是很大,却非常具有开发实力的H击手?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不说?/span> <span lang="EN-US"> <span style="mso-spacerun: yes">  </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">向他们学习?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes"> </span> </span> </p> <img src ="http://www.aygfsteel.com/xfuboywz/aggbug/103379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xfuboywz/" target="_blank">77</a> 2007-03-12 19:26 <a href="http://www.aygfsteel.com/xfuboywz/archive/2007/03/12/103379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>springhttp://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102824.html7777Fri, 09 Mar 2007 06:59:00 GMThttp://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102824.htmlhttp://www.aygfsteel.com/xfuboywz/comments/102824.htmlhttp://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102824.html#Feedback0http://www.aygfsteel.com/xfuboywz/comments/commentRss/102824.htmlhttp://www.aygfsteel.com/xfuboywz/services/trackbacks/102824.html Spring 框架

Spring 框架是一个分层架构,?7 个定义良好的模块l成。Spring 模块构徏在核心容器之上,核心容器定义了创建、配|和理 bean 的方式,如图 1 所C?/p>



?1. Spring 框架?7 个模?/b> |   Spring 面向斚w~程QAOPQ和控制反{ QIOCQ?容器
Spring 框架囄

l成 Spring 框架的每个模块(或组Ӟ都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下Q?

  • 核心容器Q核心容器提?Spring 框架的基本功能。核心容器的主要lg?BeanFactoryQ它是工厂模式的实现?font color="#0000ff">BeanFactory 使用控制反{ QIOCQ?模式应用程序的配置和依赖性规范与实际的应用程序代码分开?
  • Spring 上下?/b>Q?font color="#ff0066">Spring 上下文是一个配|文Ӟ?Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能?/strong>
  • Spring AOPQ通过配置理Ҏ,Spring AOP 模块直接面向方面的~程功能集成C Spring 框架中。所以,可以很容易地?Spring 框架理的Q何对象支?AOP。Spring AOP 模块为基?Spring 的应用程序中的对象提供了事务理服务。通过使用 Spring AOPQ不用依?EJB lgQ就可以声明性事务管理集成到应用E序中?
  • Spring DAOQJDBC DAO 抽象层提供了有意义的异常层次l构Q可用该l构来管理异常处理和不同数据库供应商抛出的错误消息。异常层ơ结构简化了错误处理Qƈ且极大地降低了需要编写的异常代码数量Q例如打开和关闭连接)。Spring DAO 的面?JDBC 的异帔R从通用?DAO 异常层次l构?
  • Spring ORMQSpring 框架插入了若q个 ORM 框架Q从而提供了 ORM 的对象关pdP其中包括 JDO、Hibernate ?iBatis SQL Map。所有这些都遵从 Spring 的通用事务?DAO 异常层次l构?
  • Spring Web 模块QWeb 上下文模块徏立在应用E序上下文模块之上,为基?Web 的应用程序提供了上下文。所以,Spring 框架支持?Jakarta Struts 的集成。Web 模块q简化了处理多部分请求以及将h参数l定到域对象的工作?
  • Spring MVC 框架QMVC 框架是一个全功能的构?Web 应用E序?MVC 实现。通过{略接口QMVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText ?POI?

Spring 框架的功能可以用在Q?J2EE 服务器中Q大多数功能也适用于不受管理的环境。Spring 的核心要ҎQ支持不l定到特?J2EE 服务的可重用业务和数据访问对象。毫无疑问,q样的对象可以在不同 J2EE 环境 QWeb ?EJBQ、独立应用程序、测试环境之间重用?



77 2007-03-09 14:59 发表评论
]]>
介HibernateTemplate http://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102729.html7777Fri, 09 Mar 2007 00:57:00 GMThttp://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102729.htmlhttp://www.aygfsteel.com/xfuboywz/comments/102729.htmlhttp://www.aygfsteel.com/xfuboywz/archive/2007/03/09/102729.html#Feedback0http://www.aygfsteel.com/xfuboywz/comments/commentRss/102729.htmlhttp://www.aygfsteel.com/xfuboywz/services/trackbacks/102729.html  首先我們看一下Bean定義檔,這與前一個主沒什麼太大的差別Q?

 代碼:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN""http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans> 
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
        <property name="driverClassName"> 
            <value>com.mysql.jdbc.Driver</value> 
        </property> 
        <property name="url"> 
            <value>jdbc:mysql://localhost:3306/TestDB</value> 
        </property> 
        <property name="username"> 
            <value>caterpillar</value> 
        </property> 
        <property name="password"> 
            <value>123456</value> 
        </property> 
    </bean> 
    
    <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" destroy-method="close"> 
        <property name="dataSource"> 
            <ref bean="dataSource"/> 
        </property> 
        <property name="mappingResources"> 
            <list> 
                <value>User.hbm.xml</value> 
            </list> 
        </property> 
        <property name="hibernateProperties"> 
            <props> 
                <prop key="hibernate.dialect"> 
                    net.sf.hibernate.dialect.MySQLDialect 
                </prop> 
                <prop key="hibernate.show_sql"> 
                    true 
                </prop> 
            </props> 
        </property> 
    </bean> 


    <bean id="userDAO" class="onlyfun.caterpillar.UserDAO"> 
        <property name="sessionFactory"> 
            <ref bean="sessionFactory"/> 
        </property> 
    </bean> 
</beans>

  在這邊UserDAO繼承自HibernateDaoSupport別Q這可以幫我們省M些管理sessionFactory、hibernateTemplate資源的工作,我們只要注入sessionFactory好了,我們的DAOa計如下Q?

 代碼:

UserDAO.java
package onlyfun.caterpillar; 

import net.sf.hibernate.*; 
import org.springframework.orm.hibernate.*; 
import org.springframework.orm.hibernate.support.*; 


public class UserDAO extends HibernateDaoSupport { 
    public void insertUser(final User user) { 
        getHibernateTemplate().execute(new HibernateCallback() { 
                publicObject doInHibernate(Session session) throws HibernateException { 
                    session.saveOrUpdate(user); 
                    returnnull; 
                } 
            }); 
    } 
}

  只要注入sessionFactoryQ之後調用getHibernateTemplate()可以取得HibernateTemplate的實例,我們利用callbackҎQ實作HibernateCallback介面Q在doInHibernate()中進行存儲操作?

  於單的存儲操作,我們甚臛_以直接用HibernateTemplate所提供的find()、load()、saveOrUpdate()、delete(){方法,而不用用callbackQ例如:

 代碼:

UserDAO.java
package onlyfun.caterpillar; 

import org.springframework.orm.hibernate.support.*; 

public class UserDAO extends HibernateDaoSupport { 
    public void insertUser(User user) { 
        getHibernateTemplate().saveOrUpdate(user); 
    } 
}

  不用LQ程式就是如此簡單,所有的細節都被裝起來了?

  HibernateTemplate中只能丟出unckecked例外Q如果需要處理checked例外Q則您可以用AOP Interceptor來取代HibernateTemplateQ從而取代callbackҎQ在參考手冊中有介紹如何配|,這邊複製過來以便參考:

 代碼:

.... 
    <bean id="myHibernateInterceptor" 
        class="org.springframework.orm.hibernate.HibernateInterceptor"> 
        <property name="sessionFactory"> 
            <ref bean="mySessionFactory"/> 
        </property> 
    </bean> 

    <bean id="myProductDaoTarget" class="product.ProductDaoImpl"> 
        <property name="sessionFactory"> 
            <ref bean="mySessionFactory"/> 
        </property> 
    </bean> 

    <bean id="myProductDao" class="org.springframework.aop.framework.ProxyFactoryBean"> 
        <property name="proxyInterfaces"> 
            <value>product.ProductDao</value> 
        </property> 
        <property name="interceptorNames"> 
            <list> 
                <value>myHibernateInterceptor</value> 
                <value>myProductDaoTarget</value> 
            </list> 
        </property> 
    </bean> 
....

 代碼:

ProductDaoImpl.java
public class ProductDaoImpl extends HibernateDaoSupport implements ProductDao { 

    public List loadProductsByCategory(finalString category) throws MyException { 
        Session session = SessionFactoryUtils.getSession(getSessionFactory(), false); 
        try { 
            List result = session.find( 
                "from test.Product product where product.category=?", 
                category, Hibernate.STRING); 
            if (result == null) { 
                thrownew MyException("invalid search result"); 
            } 
            return result; 
        } 
        catch (HibernateException ex) { 
            throw SessionFactoryUtils.convertHibernateAccessException(ex); 
        } 
    } 
}


77 2007-03-09 08:57 发表评论
]]>
վ֩ģ壺 ī| | Դ| | ȫ| | | | ¡| ʯׯ| | | | ÷| | | | ٲ| | | | | | | | ɽʡ| | | | ˻| ͤ| | Ϫ| ʤ| | ɽ| ڰ| | | | |