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