1.减少耦合,简化开发
2.面向切面(AOP)编程
3.声明式事物的支持,可以用注解的方式
4.Junit4支持
5.可以很好的支持其他开源的框架信息,例如:Quartz,hibernate,mybatis,还有一些自带的,例如:spring-data-jpa,spring-templet,spring-upload
6.支持泛型的依赖注入
7.异步通信(非阻塞),使用AsyncRestTemplate
自己总结spring-mvc的原理:
1.来一个请求
2.在调度器(DispatcherServlet)中的handlerMapping来进行处理。
3.处理以后分配给指定的controller控制层中
4.控制层调用对应的service,到dao层中。
5.处理完以后,返回modelAndView给调度器
6.调度器去找到对应的视图映射
7.把视图返回给浏览器就完成了整个流程。