读书笔记 JavaEE 互联网轻量级框架整合开发 180513

5月13日是一个特殊的日子,母亲节也是这一天

SpringMVC高级应用

    springMVC的数据转换和格式化

        在http请求到达DispatherServlet之前寻找相应的HandlerMapping→对应的HandlerAdapter执行

        配置<mvc:annotation-driven> 或者添加@EnableWebMvc的时候

        spring会自动生成一个FormattingConversionServiceFactoryBean→DefaultFormattingConversionService

        顶级接口:ConversionService 实现了ConverterRegistry 和 FormatterRegistry接口

    SpringMVC为了对应HTTP请求,定义了HttpMessageConverter

    两类:Converter      GenericConverter     作用:Java内部各种类型转换

    真正用到的:MappingJackson2HttpMessageConverter

    @ResponseBody 会把相应的数据转换成JSON格式 但是不会出现在ModelAndView中

    格式化器 Formatter

        @DateTimeFormat

        @NumberFormat

    给Controller添加通知

        @ControllerAdvice

        @InitBinder

        @ExceptionHandler

        @ModelAttribute


    处理异常

        可以在HttpStatus的源码中查看枚举类

        @responseStatus


    国际化(i18n)

        LocaleResolver 决定UserLocale

        DispatherServlet只能注册一个LocaleResolver

        拓展了LocaleContetResolver:可以处理语言和时区的问题

        CookieLocalResolver使Cookie实现国际化

        

    Redis应用

        解决互联网高并发难题

        引入了NoSQL技术  是一种简易的数据库

        基于内存 提供一定的持久化

        使用最广泛的NoSQL:Redis 和 MongoDB

        支持集群、分布式、主从同步

        支持事务 

        由ANSI C语言编写 接近汇编语言,基于内存读写,所以速度非常快

        只有6种数据类型 结构简单 规则少

        一般存储命中率高的数据 效率远超只使用数据库

        

    应用

        缓存常用数据,在需要高速读写的场合使用

        高并发核心问题:数据一致性、访问控制

        80%的访问量集中在20%的时间上——著名的82定则

        读操作一般远高于写操作

        使用Redis存储数据的时候需要考虑3个问题

            1.业务数据常用吗?命中率高吗?

            2.读操作多,还是写操作多? 写操作比较频繁的话就不需要使用Redis

            3.数据大小如何?太大的话会给缓存带来压力

483

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值