关闭

spring入门编程问题集锦

265人阅读 评论(0) 收藏 举报

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);
 
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:109626次
    • 积分:1427
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:116篇
    • 译文:0篇
    • 评论:18条
    最新评论