springmvc基础:(5)ssm框架整合

ssm集成时配置文件中关于spring文件的解释:

    注意!注意!注意!第三步:配置MapperScannerConfigurer,用于扫描指定包下的Mapper接口,并且自动生成代理对象的id为Mapper接口名第一个字母小写(例如:userinfoMapper)
    注意,注意:如果在service层的方法里面对mapper属性有@Resource或@Autowired注解的话,可以省去setter方法,如果没有就必须让spring容器回调该属性setter方法才能注入进去

applicationContext.xml配置文件 :   

    <!-- 扫描注解所在的包 -->       
    <context:component-scan base-package="cn.jzh"></context:component-scan>
    <!-- 加载jdbc配置 -->
    <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
           <property name="location" value="classpath:jdbc.properties"></property>
    </bean>
    <!-- 配置datasource -->
    <bean id ="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${driver}"></property>
            <property name="jdbcUrl" value="${url}"></property>
            <property name="user" value="${name}"></property>
            <property name="password" value="${pass}"></property>
    </bean>
    <!-- 配置sqlsessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="mapperLocations" value="classpath:cn/jzh/mapper/*Mapper.xml"></property>
    </bean>
   <!-- 3.配置MapperScannerConfigurer,用于扫描指定包下的Mapper接口,
         生成代理对象的id为Mapper接口名第一个字母小写(userinfoMapper) --> 
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
           <property name="basePackage" value="cn.jzh.mapper"></property>
           <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
   </bean>
   <!-- 声明事务 -->
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
           <property name="dataSource" ref="dataSource"></property>
   </bean>
   <tx:advice id="txAdvice" transaction-manager="transactionManager">
           <tx:attributes>
               <tx:method name="*" propagation="REQUIRED"/>
           </tx:attributes>
   </tx:advice>
   <aop:config>
           <aop:pointcut expression="execution(* cn.jzh.service.*.*(..))" id="myPointcut"/>
           <aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut"/>
   </aop:config>

ssm整合的时候出现的异常:
    使用MapperScannerConfigurer插件的时候尽量不要使用v2.c3p0的数据库连接池,要不然会报没有驱动连接,
    应该是用druid或者BasicDataSource

猜你喜欢

转载自blog.csdn.net/u012060033/article/details/82701716