













FCSFB类型转换器的注册器,把所有的类型转换器都存起来,后续根据控制器方法的形参类型,调用不同的类型转换器转换,这个类是ForamattingConersionServiceFactoryBean

ForamattingConersionServiceFactoryBean类通过当<mvc:annotation-driven/>引入springmvc的核心功能,包括创建这个类,把ForamattingConersionServiceFactoryBean这个类引入到springmvc体系中来了




自定义类型转换器:




当发生提交的参数key发生变化时,通过在控制器方法里面用Map结合接收动态参数key的变化,但是Map集合需要@RequestParam注解修饰



动态参数的典型应用场景:

Cookie主要用于会话追踪或者在分布时系统当中作为令牌使用





M:MyBatis实现DAO
S:spring,用于与mybatis的整合
S:SpringMVC,提供控制器调用Spring为我们创建好的Service对象,完成最终的业务操作






从功能角度没有存在问题,但是在设计角度存在缺陷,就是MVC层与其他层次存在耦合,
如果日后,替换了MVC的实现,整体的代码都将受到影响,如果日后把SpringMVC换成Strus2,Webflat的话,换了MVC不仅仅影响MVC的内容,也影响到其他层次

通过两个工厂,解决MVC层与非MVC层之间的耦合



父容器:



客户端发起请求调用Service,找到子容器Controller,子容器接收到请求之后调用Service,子容器有Service调用自己的Service,自己创建的Service是没有事务的


现在的ssm整合开发父子容器处理过程当中是没有事务的

解决:在包扫描上子容器不扫描com.baizhiedu这个包,只让他扫描com.baizhiedu.Controller,这样他就不会创建Service对象,他就会往父容器里面找Service





applicationContext.xml:



