1、struts2开发的时候,action是应该尽量多,还是把多个action集合在一个action里面好? 我见过有的人 一个操作就对应一个action 类似这样 delete一个 save一个 update又一个 这样是不是有点太繁琐了?
2、spring的事务管理是不是一般都放在业务层的?一般是自动代理还是用手动一个个配置的比较多,有没有比较常用的配置方法?
3、并发控制  ssh开发时常用的并发控制是怎么的? 是在hibernate中添加version字段吗?初学....谢谢..... 

解决方案 »

  1.   

    1、处理同一个业务的action放在一起,比如说delete save update某个Bean的action只有一个最好
    action的数量多了不好管理,配置文件也长。数量太少了导致一个anction得代码很长,也不好管理
    2、spring里可以用通配符配置类似方法的事物,比如某个包下的所有类的add开头的方法上可以添加共同的事物
    3,这个你先不用管
      

  2.   

    1最好不要弄那么多action,一个功能对应一个action就可以了
    可以采用在配置文件用*_*的方式动态配置,或者用!+methodName的方式
    2一般都放在业务层,因为业务层的一个方法一般都对应一个操作,方便事务的管理
    要么成功,要么回滚
    <bean id="txManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <aop:config>
    <aop:pointcut id="servicePointcut"
    expression="execution (* com.yy.oa.manager.*.*(..))" />
    <aop:advisor pointcut-ref="servicePointcut"
    advice-ref="serviceAdvice"></aop:advisor>
    </aop:config>
    <tx:advice id="serviceAdvice" transaction-manager="txManager">
    <tx:attributes>
    <tx:method name="get*" read-only="true" />
    </tx:attributes>
    </tx:advice>
    3这个具体看需求了,可以采用乐观锁,或者设置事务隔离级别
      

  3.   

    ...初学一开始就弄ssh??建议还是先分开学了再整合   struts用DispatchAction
      

  4.   

    看来大家回答的都不错了就是没有说第三个的啊
    我看看第三个
    乐观锁其实并没有控制并发,只是认为基本上不可能出现问题,如果乐观锁发现version不对,就会报异常。这时事务会回滚。 
    Spring的事务控制是一发现RuntimeException极其子类就会回滚,或者遇到指定的异常回滚。所以你的乐观锁也还是在发挥作用。 
    如果你要设定事务隔离层级,那么这个是一个底层问题,Spring和EJB都不对此进行设定,这个一般在配置数据源的时候设定。
    Hibernate分为乐观悲观两种锁。悲观锁就是使用数据库的事务隔离机制。乐观锁的所谓自动,是只要你定义了乐观锁,Hibernate就会每次在数据变更的时候给你自动增加。如果你不定义,那么这个机制是不会启动的。 
    不错。Spring只是定义了如何控制事务,具体的事务控制是由Spring带的各种事务控制器负责的。这些事务控制器是实际的JDBC、Hibernate、JTA等事务控制的代理。 
    只要你定义了事务管理器,那么就可以让这些控制器按照你指定的规则调用相应的事务机制控制并发。
      

  5.   

    回答1:你问得比较强,这个也不好回答,我个人和你的意见相同,就关的操作放在同一个action中回答2:这个问题也是每个人都有不一样的想法,不过我意见还是和你的相同!回答3:
    并发控制就是控制线程安全控制。
    是在hibernate中添加version字段吗?这个不是的!