仓酷云

标题: 了解下JAVA的让Spring架构减化事件设置 [打印本页]

作者: 山那边是海    时间: 2015-1-18 11:14
标题: 了解下JAVA的让Spring架构减化事件设置
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。
Spring倾覆了之前的编程形式,引进了IOC等全新的观点,广受人人的喜好。今朝年夜多半j2ee项目都已接纳Spring框架。Spring最年夜的成绩是太多的设置文件,使得你不但必要保护程序代码,还必要分外往保护相干的设置文件。最典范的就是事件设置(注:这里的“事件设置”都指“声明式事件设置”),在Spring中举行事件设置除界说对象本身的bean外,还必要界说一个举行事件代办署理的bean.假如你有n个类必要引进事件,那末你就必需界说2n个bean。保护这些bean的价值是非常高贵的,以是必需要对事件设置举行减化。假如你是基于Spring举行架构计划,那末作为一个好的架构计划师,应当把一些大众的方面举行简化,让项目标开辟职员只体贴项目标营业逻辑,而不要消费太多的精神往体贴营业逻辑以外的太多工具。以是作为一个好的架构就应当把事件办理举行简化,让程序员花在编程以外的事情最小化。
1.Spring声明式事件设置的几种办法
在Spring中举行事件把持起首要选择得当的事件办理器,其次为程序选择分别事件的战略。假如只要单个事件性资本,能够从“单一资本”的PlatformTransactionManger完成傍边选择一个,这些完成有:DataSourceTransactionManager,HibernateTransactionManager,JdoTransactionManager,PersistenceBrokerTransactionManager和JmsTransactionManager。依据你所接纳的数据库耐久化手艺选择。假如你的项目运转于撑持JTA的服务器,那末将选择JtaTransactionManger,将会撑持多资本事件。
下表将为你选择得当的事件办理器供应参考。
手艺事件办理器内建的事件撑持JDBCDataSurceTransactionManagerJtaTransactionManagerJdbcTemplate和org.springframework.jdbc.object包中的一切类IBATISDataSourceTransactionManagerJtaTransactionManagerSqlMapClientTemplate和SqlClientTemplateHibernateHibernateTransactionManagerJtaTransactionManagerHibernateTemplate和HibernateInterceptorJDOJdoTransactionManagerJtaTransactionManagerJdoTemplate和JdoInterceptorApacheOJBPersistenceBrokerTransactionManagerJtaTransactionManagerPersistenceBrokerTemplateJMSJmsTransactionManagerJmsTemplate
在分别事件时,我们必要举行事件界说,也就是设置事件的属性。事件的属性有传布行业,断绝级别,超时价及只读标记。TransactionAttribute接口指定哪些非常将招致一个回滚,哪些应当一次性提交。
(1)利用ProxyFactoryBean和TransactionInterceptor
<!--界说当地数据源-->
  <beanid="dataSource"name="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
    <propertyname="driverClassName"value="${jdbc.driverClassName}"/>
    <propertyname="url"value="${jdbc.url}"/>
    <propertyname="username"value="${jdbc.username}"/>
    <propertyname="password"value="${jdbc.password}"/>
  </bean>
<!--!界说单个jdbc数据源的事件办理器-->
  <beanid="transactionManager"       class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <propertyname="dataSource"ref="dataSource"/>
  </bean>
<!—界说拦阻器-->
<beanid="transactionInterceptor"
     class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <propertyname="transactionManager">
      <refbean="transactionManager"/>
    </property>
    <propertyname="transactionAttributes">
      <props>
        <propkey="insert*">PROPAGATION_REQUIRED</prop>
        <propkey="update*">PROPAGATION_REQUIRED</prop>
        <propkey="save*">PROPAGATION_REQUIRED</prop>
        <propkey="find*">PROPAGATION_SUPPORTS,readOnly</prop>
        <propkey="get*">PROPAGATION_SUPPORTS,readOnly</prop>
        <propkey="*">PROPAGATION_SUPPORTS,readOnly</prop>
      </props>
    </property>
  </bean>
<!—界说营业对象-->
<beanid="com.prs.application.ehld.sample.biz.service.sampleService.target"
     class="com.prs.application.ehld.sample.biz.service.impl.SampleServiceImpl">
    <propertyname="userInfoDAO"
     ref="com.prs.application.ehld.sample.integration.dao.userInfoDAO">
    </property>
  </bean>
<!—界说营业对象的事件代办署理对象-->
<beanid="com.prs.application.ehld.sample.biz.service.sampleService"class="org.springframeword.aop.framework.ProxyFacgtoryBean">
    <propertyname="target"
     ref="com.prs.application.ehld.sample.biz.service.sampleService.target">
    </property>
    <propertyname="interceptorNames">
     <value>transactionInterceptor</value>
    </property>
  </bean>
经由过程ProxyFacgtoryBean和TransactionInterceptor组合利用,能够对事件举行更多的把持。一切必要事件把持的对象能够共享一个transactionInterceptor的事件属性。
<p>
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
作者: 精灵巫婆    时间: 2015-1-20 18:28
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 简单生活    时间: 2015-1-29 14:25
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 只想知道    时间: 2015-2-1 16:54
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 老尸    时间: 2015-2-2 11:13
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 海妖    时间: 2015-2-3 15:03
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 金色的骷髅    时间: 2015-2-9 03:30
是一种将安全性(Security)列为第一优先考虑的语言
作者: 兰色精灵    时间: 2015-2-9 23:25
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 透明    时间: 2015-2-14 23:06
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 飘飘悠悠    时间: 2015-2-22 09:18
是一种语言,用以产生「小应用程序(Applet(s))
作者: 变相怪杰    时间: 2015-2-23 05:59
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 不帅    时间: 2015-3-7 05:48
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 小妖女    时间: 2015-3-14 11:05
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 莫相离    时间: 2015-3-21 04:20
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2