SSH 框架整合2---- 增加注解

前一篇文章已经简述了SSH项目整合的大体流程,其中大部分是用配置文件完成的,稍微有些复杂。现在咱们把能用注解替换的用注解改一下,以减少代码复杂度。

一、其实能用注解改动的并不是很多,因为大部分都是必须的基础配置步骤,用原来的方法即可,下面一起来看一下可以改动,而且修改之后方便度大大提高的部分:

1,配置声明式事务

    <!--声明式事务开始+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    
<!-- 配置事务管理器 -->  <!-- 此处用以sessionfactory依赖注入(比以前代码实现方便多了) -->
    <bean id="myTxManager"       class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="mySessionFactory"/> 
                                     <!-- 事务管理器需要依赖注入sessionFactory -->
    </bean>

    <!-- 事务通知 事务通知需要依赖注入事务管理器 -->		
    <tx:advice id="txAdvice" transaction-manager="myTxManager"></tx:advice>
      
    <!-- AOP配置(因为要用声明式事务) -->  <!-- 改成用注解配置声明式事务 -->
    <tx:annotation-driven transaction-manager="myTxManager"/>
	
    <!--声明式事务结束 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

2,事务提交限制的配置方式(在service实现类的具体方法上家注解(只读不提交),默认是提交事务的)

	@Transactional(readOnly=true)  //只读 ,事务不提交
	@Override
	public List<User> list() {
		return userDao.list();
	}

5,注解把实体类的依赖注入方式 从bean、property 方式解放出来,使用注解即可(非常方便)

ps: @Component(Entity注解),@Repositories (Dao层注解),@Service (Service层注解) ------- 三种不同类型类的注解区分

二、下边是需要修改的部分:

3,组件扫描方式(不能够重复扫描,不然会有冲突)

3.1,app-root.xml(spring核心配置文件) 中组件扫描配置

 	<!-- Spring配置: 组件扫描(让Spring知道 哪些可以配置注解) -->
	<context:component-scan base-package="com.xintouyun.ssh">  
                                            <!-- 组件扫描范围:ssh目录下 -->
	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>   <!-- 除了Controller(!类型!)的都进行组件扫描 -->

3.2,app-servlet (Spring-mvc配置文件) 中扫描配置:

 	<!-- Spring配置: 组件扫描(让Spring知道 哪些可以配置注解)-->
	<context:component-scan base-package="com.xintouyun.ssh" use-default-filters="false">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>  <!-- 除了Controller(!类型!)的都不扫描 -->

4,原hibernate部分配置(只用修改 实体类映射方式 。xml-->class)

        <property name="mappingResources">   <!-- 读取hbm.xml 配置文件,实现类和表的映射  -->
            <list>
                <value>com/xintouyun/ssh/entity/User.hbm.xml</value>
            </list>
        </property>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值