标签:scan class save ports 一个 页面 分析 事务管理器 事务配置
springMVC的运行流程:
1.当一个请求发送到服务器后,被web.xml里面的一个servlet所拦截:DispatcherServlet
DispatcherServlet将请求发给处理器映射器(HanderMapping)来分析请求路径,将处理后的信息返回到DispatcherServlet
2.DispatcherServlet将处理后的信息发送给处理器适配器来进行处理,处理器适配器会根据其中的请求来查找其对应的Hander处理器(就是我们自己写的方法)来进行响应
处理完后会返回一个ModelAndView对象给DispatcherServlet
3.DispatcherServlet将返回的ModelAndView对象发给试图解析器来解析出Model对象和View返回。
4.DispatcherServlet将返回的Mode对象和View对象发送给渲染视图来对客户端进行响应。
web.xml
<!-- spring的配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- springmvc的配置 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 这个servlet要一个springmvc的配置文件,并且文件名为:/WEB-INF/springmvc-servlet.xml -->
springmvc-servlet.xml
包扫描:
<context:component-scan base-package="cn.itcast.simple.controller" />
注解驱动,加载最新的处理器映射器处理器适配器(加载各种工具,各种可用的插件)
<mvc:annotation-driven />
视图解析器,如果页面是JSP,程序员懒。如果页面不是JSP的,必须配置
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
spring的配置文件
包扫描:
<context:component-scan base-package="cn.itcast.simple.service" />
DAO的配置
两个Bean
SqlSessionFactoryBean
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据库连接池 -->
<property name="dataSource" ref="dataSource" />
</bean>
MapperScannerConfigurer
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.itcast.ss2.mapper"></property>
</bean>
事务配置
<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 传播行为 -->
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
<aop:advisor advice-ref="txAdvice"
pointcut="execution(* com.itheima.springmvc.service.*.*(..))" />
</aop:config>
标签:scan class save ports 一个 页面 分析 事务管理器 事务配置
原文地址:https://www.cnblogs.com/danMan/p/8893820.html