专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »安全 » ibatis:基于Spring+Ibatis的安全线程实现 »正文

ibatis:基于Spring+Ibatis的安全线程实现

来源: 发布时间:星期六, 2008年7月5日 浏览:489次 评论:0
  过去做过一些基于spring、hibernate整合应用的实例,本人感觉spring与hibernate最好的结合就是泛型Dao的实现,代码量节省了一半,而且业务逻辑一目了然。

  过去做过一些基于spring、hibernate整合应用的实例,本人感觉spring与hibernate最好的结合就是泛型Dao的实现,代码量节省了一半,而且业务逻辑一目了然。

  后来做别的系统时候考虑过这样的框架,但是数据库结构如果不固定,动态生成的东西比较多这个时候只好放弃了hibernate而选择了同样具有orm性能的ibatis,下面就spring与ibatis的结合相关配置做下说明(如有不同意见,希望交流)

  首先spring和ibatis具体下载和安装就不多说了。直接切入正题

  Spring框架下的ibatis应用,特别是在容器事务管理模式下的ibatis应用开发

  部署如下:

  首先spring配置文件:

    Spring_base.xml 
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans default-lazy-init="true">
           <!-- 配置数据源 -->
           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
                  <property name="driverClassName">
                         <value>net.sourceforge.jtds.jdbc.Driver</value>
                  </property>
                  <property name="url">
                         <value>jdbc:jtds:sqlserver://localhost:1433/test</value>
                  </property>
                  <property name="username">
                         <value>sa</value>
                  </property>
                  <property name="password">
                         <value>sa</value>
                  </property>
                  <property name="maxActive">
                         <value>10</value>
                  </property>
                  <property name="maxIdle">
                         <value>2</value>
                  </property>
                  <property name="maxWait">
                         <value>300</value>
                  </property>
           </bean>
    /////////////////// dataSource:配置你的数据源连接
           <bean id="sqlMapClient"
                  class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
                  <property name="configLocation">
                         <value>SqlMap_config.xml</value>
                  </property>
                  <property name="dataSource"><!-- 从指定dataSource中获取数据源 亦可把该定义放到每个自定义Dao中-->
                         <ref bean="dataSource" />
                  </property>
           </bean>
    //////////////////// sqlMapClient:集成ibatis配置文件和把数据源与ibatis相关联
           <!-- 配置事务管理 -->
           <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                  <property name="dataSource">
                         <ref local="dataSource" />
                  </property>
           </bean>
    ///////////////// transactionManager:配置事务管理
           <!--公共组件-->
           <import resource="spring_other.xml" />
    ////////////把用户自定义Bean与基本bean分开,集成进去spring_other.xml文件
    </beans>

  以上是spring 把一些ibatis相关配置集成到自己的配置文件里面

    Spring_other.xml 
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        <bean id="userService" class="com.user.UserServiceImpl">
           <property name="transactionManager">
               <ref bean="transactionManager" />
           </property>
           <property name="userDao">
               <ref local="userDao" />
           </property>
        </bean>
    ////////////////////////使用service管理所有用户自定义bean和Dao操作,用来设置事务回滚,线程安全等。
        <bean id="userDao" class="com.user.dao.UserDaoImpl">
            <property name="sqlMapClient" ref="sqlMapClient"/>
        </bean>
    ///////////////用户自定义Dao操作,因spring_base.xml中sqlMapClient已经把dataSource包含,故dataSource不再声明,如果该操作需要别的数据连接,可加入例如:
    ////////<property name=”dataSource1” ref=”dataSource1”/>//////////
    </beans>
标签:ibatis教程 ibatis
1

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: