Spring和Spring MVC是天然集成在一起的。在web.xml中配置一个分发控制器,
<servlet>
<servlet-name>library</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--加载spring配置-->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springConfig/graduateLibrary.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>library</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
然后就可以在graduateLibrary.xml中写关于spring和spring mvc的各自配置了。而mybatis则是通过相关的类加载其相关的配置。例如:
<!--引入mybatis配置文件。SqlSessionFactoryBean相当于一个SqlSessionFactoryBuilder-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
<!--注入sqlSessionFactory,用于创建sqlSession-->
<bean id="sqlSessionTemplateSimple" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
<constructor-arg index="1" value="SIMPLE" />
</bean>
<!--只有在dao下的包,并且继承了Mapper接口的才会被注册到spring容器中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="dao" />
<property name="sqlSessionTemplateBeanName" value="sqlSessionTemplateSimple" />
<property name="markerInterface" value="dao.Mapper" />
</bean>
以上代码只是将spring和mybatis集成到一起,并且将告诉spring那些映射接口将会被创建。具体的mybatis配置文件在类路径下,如下图所示: