导入pom
搭建spring环境
- 创建配置spring配置文件
测试
整合springmvc框架
编写springmvc配置文件
springmvc配置文件you核心控制器在tomcat启动的时候加载如图
但是spring的配置文件没有加载,这样就导致无法完成service中对象的创建,所以需要使spring配置文件也加载,以下是实现方法
配置spring的监听器
测试
编写mybatis
创建核心配置文件,名称任意
测试
整合mybatis
在spring配置文件中添加数据源(连接池信息)、
配合着sqlsessionfactory工厂(工厂中提添加数据源)配置文件路径 映射配置文件路径
配置dao接口所在的包。
配置事务
<!--配置需要自动生成实现类的mapper接口-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.jc.dao"/>
</bean>
<!--配置声明式事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--配置事务通知-->
<tx:advice id="txAdvice" transaction-manager="transactionManager"/>
<!--AOP增强-->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.jc.service.impl.*ServiceImpl.*(..))"></aop:advisor>
</aop:config>
或者可以使用注解式事务
<!-- 开启注解式事务的支持 -->
<tx:annotation-driven transaction-manager="myTransaction"/>
xml配置
配置 springmvc核心servlet(设置配置文件名字和位置 服务器启动自动初始化)
配置编码过滤器
配置用于读取spring配置文件的监听器 (使服务器启动时自动初始化配置)
设置spring配置文件的名称和位置
<!--配置log4j-->
<!--定义一个参数-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath*:log4j.properties</param-value>
</context-param>
<!--刷新时间-->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--指定spring配置文件的路径-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring.xml</param-value>
</context-param>
<!--配置springmvc处理乱码的过滤器-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--配置用于读取spring配置文件的监听器 (因为要在服务器启动时就读取配置文件
所以需要配置一个监听器来读取-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--配置springmvc核心servlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--指定配置文件的路径-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springmvc.xml</param-value>
</init-param>
<!--设置服务器启动时初始化-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>