spring 小结

来源:互联网 发布:淘宝网店操作 编辑:程序博客网 时间:2024/06/05 13:36
<context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:


@Controller 声明Action组件
@Service    声明Service组件    @Service("myMovieLister") 
@Repository 声明Dao组件
@Component   泛指组件, 当不好归类时. 
@RequestMapping("/menu")  请求映射
@Resource  用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName") 
@Autowired 用于注入,(srping提供的) 默认按类型装配 
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype")   设定bean的作用域


 


<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
后面,对action写JUnit单元测试时,要从spring IOC容器中取DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,来完成测试,取的时候要知道是<mvc:annotation-driven />这一句注册的这两个bean。


 


<mvc:interceptors/> 是一种简写形式。通过看前面的大图,知道,我们可以配置多个HandlerMapping。<mvc:interceptors/>会为每一个HandlerMapping,注入一个拦截器。其实我们也可以手动配置为每个HandlerMapping注入一个拦截器。


 


<mvc:default-servlet-handler/> 使用默认的Servlet来响应静态文件。


 


<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/> 匹配URL  /images/**  的URL被当做静态资源,由Spring读出到内存中再响应http。
===================================================================================================================


spring 核心类介绍


DispatcherServlet---前置控制器在web.xml中配置的


HandlerMapping接口---处理请求的映射
HandlerMapping接口的实现类:
SimpleUrlHandlerMapping  通過配置文件,把一個URL映射到Controller
DefaultAnnotationHandlerMapping  通過註解,把一個URL映射到Controller類上//(@Controller)


HandlerAdapter接口 -- 處理請求的映射
AnnotationMethodHandlerAdapter類,通過註解,把一個URL映射到Controller類的方法上//(@RequestMapping)


 


Controller接口 -- 控制器


由於我們使用了@Controller註解,添加了@Controller註解註解的類就可以擔任控制器(Action)的職責,


所以我們並沒有用到這個接口。




 


HandlerInterceptor 接口--攔截器,我們自己實現這個接口,來完成攔截的器的工作。
abstract HandlerInterceptorAdapter
 
ViewResolver接口的實現類


UrlBasedViewResolver類 通過配置文件,把一個視圖名交給到一個View來處理


InternalResourceViewResolver類,比上面的類,加入了JSTL的支持
 


View接口


JstlView類
 
LocalResolver接口


HandlerExceptionResolver接口 --異常處理


SimpleMappingExceptionResolver實現類
0 0