莫相离 发表于 2015-1-18 11:12:48

来看Spring设置事件在DAO层和营业逻辑层

在1995年5月23日以“Java”的名称正式发布了。
Spring经由过程AOP完成声明式事件办理。一般经由过程TransactionProxyFactoryBean设置Spring事件代办署理。我们必要一个方针对象包装在事件代办署理中。这个方针对象通常为一个一般Java对象的bean。当我们界说TransactionProxyFactoryBean时,必需供应一个相干的PlatformTransactionManager的援用和事件属性。事件属性含有下面形貌的事件界说。
PlatformTransactionManager:
HibernateTransactionManager必要一个SessionFactory的援用
JtaTransactionManager
一.把事件安排在了DAO层:
<!—hibernateTransactionManager-->
<beanid="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <propertyname="sessionFactory">
    <reflocal="sessionFactory"/>
  </property>
</bean>
<!—DAO层接话柄现-->
<beanid="companyDAOTarget"
  class="com.vstsoft.querycompany.dao.impl.CompanyDAOImpl">
  <propertyname="sessionFactory">
    <reflocal="sessionFactory"/>
  </property>
</bean>
<!—spring对DAO层的事件代办署理-->
<beanid="companyDAOProxy"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <propertyname="transactionManager">
    <refbean="transactionManager"/>
  </property>
  <propertyname="target">
    <reflocal="companyDAOTarget"/>
  </property>
  <propertyname="transactionAttributes">
    <props>
    <propkey="insert*">PROPAGATION_REQUIRED</prop>
    <propkey="delete*">PROPAGATION_REQUIRED</prop>
    <propkey="find*">
    PROPAGATION_REQUIRED,readOnly
    </prop>
    </props>
  </property>
</bean>
<!—营业层接话柄现,把DAO注进到Service内里-->
<beanname="companyManageTarget"
  class="com.vstsoft.querycompany.service.impl.CompanyManageTarget">
  <propertyname="companyDAO">
    <refbean="companyDAOProxy"/>
  </property>
</bean>
<!—spring对Service层的代办署理-->
<beanid="companyManageProxy"
  class="org.springframework.aop.framework.ProxyFactoryBean">
  <propertyname="proxyInterfaces">
    <value>com.vstsoft.querycompany.service.CompanyManage</value>
  </property>
  <propertyname="target">
    <refbean="companyManageTarget"/>
  </property>
</bean>
<!—设置struts会见,把service层注进到action内里-->
<beanname="/company"
  class="com.vstsoft.querycompany.web.action.CompanyAction"singleton="false">
  <propertyname="companyManage">
    <reflocal="companyManageProxy"/>
  </property>
</bean>
<p>
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。

仓酷云 发表于 2015-1-20 17:16:23

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

小魔女 发表于 2015-1-27 13:02:12

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

分手快乐 发表于 2015-1-31 05:45:16

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

再见西城 发表于 2015-2-6 17:30:18

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

变相怪杰 发表于 2015-2-17 17:17:30

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

愤怒的大鸟 发表于 2015-3-5 21:12:20

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

小女巫 发表于 2015-3-12 15:09:41

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

再现理想 发表于 2015-3-13 04:08:26

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

冷月葬花魂 发表于 2015-3-20 12:07:37

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
页: [1]
查看完整版本: 来看Spring设置事件在DAO层和营业逻辑层