spring mybatis

1.加载外部数据配置信息

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

2 创建数据源

  1. <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
  2. <property name="username" value="${jdbc.username}"/>
  3. <property name="url" value="${jdbc.url}"/>
  4. <property name="driverClassName" value="${jdbc.driver}"/>
  5. <property name="password" value="${jdbc.password}"/>
  6. </bean>


3创建SQLSessionFactory

  1. <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  2. <property name="dataSource" ref="dataSource"/>
  3. <!-- mybatis主配置文件 -->
  4. <property name="configLocation" value="classpath:mybatis-config.xml"></property>
  5. <!-- mapper配置文件 -->
  6. <property name="mapperLocations" value="classpath*:com/zhiyou100/ssm/mapper/*-mapper.xml"/>
  7. <!-- 可以设置别名 -->
  8. </bean>


4事务管理器

  1. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  2. <property name="dataSource" ref="dataSource"></property>
  3. </bean>


5事务通知

  1. <tx:advice transaction-manager="transactionManager" id="tx-advice">
  2. <tx:attributes>
  3. <tx:method name="add*"/>
  4. </tx:attributes>
  5. </tx:advice>


6事务Aop切面

  1. <aop:config>
  2. <aop:pointcut expression="execution(* com.zhiyou100.ssm.service.*.*(..))" id="tx-pointcut"/>
  3. <aop:advisor advice-ref="tx-advice" pointcut-ref="tx-pointcut"/>
  4. </aop:config>


7.配置接口到bean中

扫描Mapper,并将其生命周期纳入Spring的管理

  1. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  2. <property name="basePackage" value="com.zhiyou100.ssm.mapper"></property>
  3. </bean>

http://how2j.cn/k/ssm/ssm-tutorial/1137.html?tid=77#nowhere

思路

  1. 首先浏览器上访问路径 /listCategory

  2. tomcat根据web.xml上的配置信息,拦截到了/listCategory,并将其交由DispatcherServlet处理。

  3. DispatcherServlet 根据springMVC的配置,将这次请求交由CategoryController类进行处理,所以需要进行这个类的实例化

  4. 在实例化CategoryController的时候,注入CategoryServiceImpl。 (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)

  5. 在实例化CategoryServiceImpl的时候,又注入CategoryMapper

  6. 根据ApplicationContext.xml中的配置信息,将CategoryMapper和Category.xml关联起来了。

  7. 这样拿到了实例化好了的CategoryController,并调用listCategory方法

  8. 在listCategory方法中,访问CategoryService,并获取数据,并把数据放在”cs”上,接着服务端跳转到listCategory.jsp去

  9. 最后在listCategory.jsp 中显示数据

SSM 整合 - 图1

WEB-INF安全目录