spring入门编程问题集锦

1、如何学习Spring?
你可以通过下列途径学习spring:
(1) spring下载包中doc目录下的MVC-step-by-step和sample目录下的例子都是比较好的spring开发的例子。



(2) AppFuse集成了目前最流行的几个开源轻量级框架或者工具Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,Canoo's WebTest,Struts Menu,Display Tag Library,OSCache,JSTL,Struts 。
你可以通过AppFuse源代码来学习spring。
AppFuse网站:http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse




6、Spring中如何实现事务管理?
首先,如果使用mysql,确定mysql为InnoDB类型。
事务管理的控制应该放到商业逻辑层。你可以写个处理商业逻辑的JavaBean,在该JavaBean中调用DAO,然后把该Bean的方法纳入spring的事务管理。

比如:xml文件定义如下:

     < bean id = " transactionManager "   class = " org.springframework.jdbc.datasource.DataSourceTransactionManager " >
        
< property name = " dataSource " >
            
< ref bean = " dataSource " />
        
</ property >
    
</ bean >

 

< bean id = " txProxyTemplate "   abstract = " true "     
     
class = " org.springframework.transaction.interceptor.TransactionProxyFactoryBean " >  

  
< property name = " transactionManager " >
    
< ref bean = " transactionManager " />
  
</ property >
  
  
< property name = " transactionAttributes " >  
    
< props >  
      
< prop key = " save* " > PROPAGATION_REQUIRED </ prop >  
      
< prop key = " remove* " > PROPAGATION_REQUIRED </ prop >  
      
< prop key = " * " > PROPAGATION_REQUIRED </ prop >  
    
</ props >  
  
</ property >  
</ bean >

 

< bean id = " userManage "  parent = " txProxyTemplate " >  
   
< property name = " target " >  
      
< bean  class = " com.yz.spring.service.implement.UserManageImpl " >  
         
< property name = " userDAO " >
        
< ref bean = " userDAO " />
     
</ property >  
      
</ bean >  
   
</ property >  
</ bean >

 

com.yz.spring.service.implement.UserManageImpl就是我们的实现商业逻辑的JavaBean。我们通过parent元素声明其事务支持。

7、如何管理Spring框架下更多的JavaBean?
JavaBean越多,spring配置文件就越大,这样不易维护。为了使配置清晰,我们可以将JavaBean分类管理,放在不同的配置文件中。 应用启动时将所有的xml同时加载。
比如:
DAO层的JavaBean放到applicationContext-hibernate.xml中,商业逻辑层的JavaBean放到 applicationContext-service.xml中。然后启动类中调用以下代码载入所有的ApplicationContext。

String[] paths  =   {"com/yz/spring/dao/hibernate/applicationContext-hibernate.xml"
         
"com/yz/spring/service/applicationContext-service.xml"}


ctx 
=   new  ClassPathXmlApplicationContext(paths);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值