spring+hibernate+iBATIS註解方式整合

1、使用的組件版本

spring3.14

hibernate3

ibatis2.3

2、web.xml中的配置

listener:ContextLoaderListener

->加載配置文件spring-context.xml

servlet:DispatherServlet

->加載配置文件spring-mvc.xml

3、spring-context.xml的主要配置內容

<!--開啓註釋 -->

<context:annotation-config/>

<!--配置服務組件範圍-->

<context:component-scan base-package="cn.com.*.*.service.impl"/>

<!--數據源配置省略-->

<!--hibernate註解方式配置 -->

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

    <property name="dataSource" ref="dataSource"/>

    <property name="hibernateProperties">

        <prop>...</prop>

    </property>

    <property name="packageToScan">

        <list>

            <value>cn.com.*.*.domain</value>

        </list>

    </property>

</bean>

<bean id="hibernateTmplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

    <property name="sessionFactory">

        <ref bean="sessionFactory"/>

    </property>

</bean>

<!--ibatis配置-->

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean>

    <property name="dataSource" ref="dataSource"/>

    <property name="configLocation" value="classpath:sql-map-config.xml/>

</bean>

<!--配置事務註釋方式-->

<bean id="transmgr" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

    <proerty name="dataSource" ref="dataSource"/>

</bean>

<tx:annotation-driven transaction-manager="transmgr" proxy-target-class="true"/>

4、spring-mvc.xml主要配置

<context:component-sacn base-package="cn.com.*.*.controller"/>

<mvc:annotation-driven>

    <mvc:message-converters register-deaults="true">

        <bena class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" p:supportedMediaTypes=“text/html;charset=UTF-8"/>

    </mvc:message-converters>

</mvc:annotation-driven>

<!--上傳文件配置 -->

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:maxUploadSize="-1"/>

<!--視圖配置 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResoler" p:prefix="/pages/" p:suffix=".jsp"/>

<!--異常處理 -->

<bean id="ex" class="cn.com.*.*.MyExceptionHandler"/>

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">

    <property name="defaultErrorView" value="/*/*"/>

    <property name="exceptionAttribute" value="ex"/>

......

</bean>

<!--攔截器配置-->

<mvc:interceptors>

    <bean class="cn.com.*.*.MyLoginterceptor"/>

</mvc:interceptors>

5、Spring控制器的編寫

@controller

@RequestMapping("/orgmgr")

class MyControler{

    @Autowired

    @Qualifier("orgmgrImpl')

    private OrgMgrImpl orgmgrImpl;

 

    @requestMapping(value="/orglist") //返回頁面

    private String getOrgfList(){

    ......

    }

    

    @requestMapping(value="/orglistjson") //返回json數據

    private String getOrgfListJson(){

    ......

    }

}

 6、Service的編寫

@Service

public class MyService{

    @Autowired

    @Resource(name="sqlMapClientTemplate")

    protected SqlMapClientTemplate sqlMapClientTemplate;

 

    @Autowird

    @Resource(name="hibernateTemplate")

    protected HibernateTemplate hibernateTemplate;

   

    @Transactional(rollbackFor = Exception.class)

    public Object getOrgfList(){

    ......

    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章