spring MVC 视频学习

springMVC1
Controller 基本使用
[xml] viewResolver
springMVC2
一个Controller多个方法
MultiActionController
[xml] paramMethodResolver
springMVC3
静态文件访问
[xml] mvc:resources 
springMVC4
注解
注解扫描包  [xml] context:component-scan
开启注解 [xml] <mvc:annotation-driven/>

@Controller   @RequestMapping
springMVC5
注解优化
类加上  @RequestMapping
返回值从ModelAndView 改成String

springMVC6
原生态的Json
response.setContentType("application/json");
springMVC7
上传附件
springMVC8
和Spring集成
springMVC是用servlet启动的   后
Spring 是用listner启动的  先
springMVC管理的是servlet
Spring 管理的是service层

以前的做法是Controller中定义Service的成员变量并设置好setter方法,在xml中将该Service的bean ID注入。
现在只要在Controller中用@Resource标签就ok了
@Resource(name="springManager")
private SpringManager springManager;

springMVC9
springMV C继承与spring 的上下文,可以得到spring中的bean,所以可以只用resouce注解来得到bean。 相较于struts2 具有天生的优势。
也解释了为什么spring是先启动 springMVC是后启动的

如果无法用注入的方式来得到bean,可以用上下文的方式来得到
WebApplicationContext ac1 = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());

springMVC12
Hibernate 5大对象
Configuration   ---  上下文 context
SessionFactory   --  重量级对象 一个db一个sessionFactory
Session   --  一次连接
Transaction   -- 事务
Query--  CRUD

spring配置文件为hibernate定义了 datasource / sessionFactory / transaction
和spring集成的时候 hibernate只需要定义hbm文件,将实体类放在hibernate容器中
<hibernate-configuration>
    <session-factory>
        <mapping class="com.tgb.web.controller.entity.User"/>
    </session-factory>
</hibernate-configuration>

实体类层由hibernate来管理
用注解配置
@Entity
@Table(name="T_USER")
public class User {
@Id
@GeneratedValue(generator = "system-uuid") 
       @GenericGenerator(name = "system-uuid", strategy = "uuid")
       @Column(length=32)
private String id;

@Column(length=32)
private String userName;
….
}

DAO service层 用spring来管理 并对service层加上事务控制

Hibernate4 的session管理很好了,  不用spring的HibernateDaoSupport
只需要在DAO中引入sessionFactory就ok了

Spring的代理式事务

springMVC 中的重定向。 场景 添加用户不调到成功页面,而是通过servlet跳到展示页面
不返还到页面,跳到另一个servlet 请求

return "redirect:/user/getAllUser";

--------------
Hibernate 5大对象
Configuration   ---  上下文 context
SessionFactory   --  重量级对象 一个db一个sessionFactory
Session   --  一次连接
Transaction   -- 事务
Query和Criteria   --  CRUD

----------------------
spring 是Listener  ---只需要启动一次
Struts2 是filter
springMVC 是Servlet


web容器的启动顺序
context-param  >  listener  > filer >  servlet

你可能感兴趣的:(spring mvc)