0
点赞
收藏
分享

微信扫一扫

Day1 记录笔记4 ssm整合 spring配置

秦瑟读书 2022-02-19 阅读 71

spring核心配置文件 applicationContext.xml

注解开发 组件扫描 除了 mvc的controller(web)以外 service 和 mapper都要

<!--组件扫描 扫描service和mapper-->
<context:component-scan base-package="com.jia">
    <!--排除controller的扫描-->
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:exclude-filter>
</context:component-scan>

Spring整合mybatis 需要添加的配置

第一mapper对象可以用依赖注入直接注入到service层的成员变量mapper上,那么就要让spring拥有创建mapper对象权 想要创建mapper又需要sqlsession工厂和sqlsession

<!--1加载propeties文件-->

<context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

<!-- 1配置Druid连接池数据源 Druiddatasource -->

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">

<property name="driver" value="${jdbc.driver}"></property>

<property name="url" value="${jdbc.url}"></property>

<property name="username" value="${jdbc.username}"></property>

<property name="password" value="${jdbc.password}"></property>

</bean>

第二 事务的控制权也可以交给spring    释放sqlsession.close() 和 提交事务commit

    
    <!--2声明式 事务控制 spring有两种 一种是xml 一种是注解   aop  动态代理-->
    <!--2数据源事务管理器   这里是jdbc/mybatis的事务管理器的实现类 无参构建的bean 需要set方法传参 参数是一 数据源对象-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

/* <tx:attrivutes>设置事务的属性 <tx:method>这里的*是指定的是需要 被增强的方法 也就是切点(Pointcut)范围为 任意切点 事务属性还有很多隔离级别 事务传播行为 超出时间 是否只读(这个可以在只查询的时候用)这几个都有默认值 不设置自动使用默认值 */
    <!--2配置事务的增强/通知(Advice)   -->
    <tx:advice id="txAdvice">
        <tx:attributes>
            <tx:method name="*"/>
        </tx:attributes>
    </tx:advice>
/* <aop:advisor  配置切面(目标对象target+增强advice) 
属性值 
advice-ref 指定 通知bean对象
 pointcut 指定切点(被增强的方法)  需要用切点表达式 execution([修饰符]*任意返回值 全限定包名.*只是此包下任意类并不包括此包下的子包的类.*任意方法(..任意个数任意参数))   public修饰符可省略
*/
    <!--2配置事务的aop 织入(切点被增强的过程)-->
    <aop:config>
        <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:advisor>
    </aop:config>
举报

相关推荐

0 条评论