
Spring / Spring MVC 学习小结
文章平均质量分 88
整理了一下以前学习Spring的笔记,方便查阅
Al_assad
脚踏实地,不吹水不装逼不讥讽
展开
-
Spring Boot 快速使用
Spring Boot 概述Spring Boot 主要的作用在于解决 Spring 项目配置麻烦的问题,用于快速创建和启动新的基于 Spring 的项目 ,Spring Boot 大量整合应用程序需要的第三方依赖类库或框架,大部分基于 Spring Boot 的应用只需要很少的配置就可以运行起来;Spring Boot 项目主页:http://projects.sprin原创 2018-01-21 02:09:52 · 610 阅读 · 0 评论 -
Spring 集成 Reids(Spring-data-redis)
Redis Redis(1)安装 & 配置Redis(2)基本键值操作Redis(3)常用维护操作Redis(4)客户端连接:JavaSpring 集成 Reids(Spring-data-redis)Spring 集成 Reids(Spring-data-redis)如果要在 Spring 中集成 Redis,可以直接装载 Jedis 的 JedisPoolFactory ,需要自己封装...原创 2018-02-12 02:20:06 · 1263 阅读 · 0 评论 -
Spring framework(1):框架构建&配置文件
Spring 框架概况Spring 框架主要可以分为以下模块:1.Core Container(核心模块)Core :实现了IOC功能,用配置的方式进行类于类之间的以阿里关系描述,用IOC容器负责依赖类之间的创建,拼接,管理,获取等工作;Bean :提供了 BeanFactory,是Spring Core的核心接口,实现了IOC容器的核心功能;Context原创 2017-12-06 15:18:34 · 1620 阅读 · 0 评论 -
Spring framework(2):资源访问&资源加载
资源访问接口 Resource为了弥补 JDK 提供的资源访问类(java.net.URL,java.io.File等)缺少从类路径或Web容器的上下文中获取资源的能力,Spring 提供了 Resouce 接口和一系列的实现类来是增强对不同类型资源的访问能力;Resource 接口主要的方法:boolean exists()资源是否存在;原创 2017-12-06 15:22:02 · 653 阅读 · 0 评论 -
Spring framework(3):IoC(1) IoC 容器&上下文对象
IoC 概述概念IoC(Inverse of Control)控制反转是 Spring 容器的内核,AOP、声明式事务等都是基于该概念;从概念上来说,可以用 DI(Dependency Injection)依赖注入来代替Ioc的理解:让调用类对某一接口的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口的依赖;Ioc 的类型从注入方法来来看,Ioc主要划分为 3 类:原创 2017-12-06 15:26:06 · 721 阅读 · 0 评论 -
Spring framework(4):IoC (2) Bean 装配
Spring 装配 Bean 概述Spring 容器启动的3个条件:Spring 本身:Spring 框架的类包都已经放置在应用程序的类路径下;Bean 配置信息:应用程序为 Spring 提供了完整的 Bean 配置信息;Bean 实现类:Bean 实现类都已经放到应用程序的类路径下;Bean 配置信息由以下4部分组成:Bean 的实现类;原创 2017-12-06 15:35:51 · 784 阅读 · 0 评论 -
Spring framework(5):AOP
以下示例代码完整代码地址:https://gitee.com/assad/springframework-test-aopAOP 基础AOP (Aspect Oriented Programing)面向切面编程,是通过预编译方式和运行动态代理实现程序功能同意维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而降低业务逻辑各部分之间的耦合度。AOP 相关术语原创 2017-12-06 15:28:12 · 704 阅读 · 0 评论 -
Spring framework(6):SpEL 表达式
SpEL 概述Spring 动态语言(SpEL)是一个支持运行时查询和操作对象的动态语言,其语法类似于 EL 表达式,具有如显示方式调用、字符串模板函数等强大特性,同时能够很好地与其他动态语言进行集成;使用 SpEL 时需要导入 spring-expression 依赖;基本使用 ExpressionParser pars原创 2017-12-06 15:29:56 · 1542 阅读 · 0 评论 -
Spring framework(7):国际化支持 i18n
Spring 国际化 i18n以下完整示例代码地址:https://gitee.com/assad/springframework-test-i18n关于 Java 本身对于 i18n 的支持,参见:http://blog.youkuaiyun.com/al_assad/article/details/78689808MessageSourceSprin原创 2017-12-06 15:32:30 · 1314 阅读 · 0 评论 -
Spring framework(8):Cache 缓存处理
缓存的基本概念通常在 Web 应用发开中,不同层级对应的缓存策略和要求是不一样的,如下:以下是缓存中的2个比较重要的基本概念:缓存命中率缓存命中率即从缓存中读取数据的次数和总读取次数的比例,一般来说,命中率越高越好:命中率 = 从缓存中读取的次数 / 总读取次数Miss 率 = 没有从缓存中读取的次数 / 总读取次数※总读取次数 =原创 2018-01-19 15:16:50 · 3385 阅读 · 0 评论 -
Spring framework(9):Quartz 的基本使用和 Spring 集成
Quartz 的快速使用JDK 1.3 开始通过 java.util.Timer 和 java.util.TimerTask 提供了简单的任务调度功能,允许用户调度一个按固定时间间隔运行的任务,但是对于复杂任务调度业务实现起来还是很麻烦;OpenSymphony 提供的 Quartz 开源库在此基础上,提供了复杂灵活的任务调度功能,使用 quertz 需要导入以下依赖:org.原创 2018-01-20 19:06:07 · 662 阅读 · 0 评论 -
Spring framework(10):集成 JMS 异步消息队列(ActiveMQ)
JMS 和 Apache-ActiveMQ 简介JMS(Java Message Service,Java 消息服务)是一个 Java 面向消息中间件(MOM)的 API,用于 Java 应用程序或分布式系统之间发送信息,异步通信;JMS 具有以下优势通信的异步性,客户端获取信息不需要主动发送请求,由 JMS 中间件自动推送信息;消息发送的准确性,JMS 中间件可以原创 2018-02-03 15:55:28 · 787 阅读 · 0 评论 -
Spring DAO(1):基础 & 数据源配置
DAO(Data Access Object)用于访问数据的对象,DAO 屏蔽了数据储存的最终介质和具体的实现技术细节;Spring 提供了一套完善的DAO体系,用于屏蔽各种持久化技术的实现细节,以统一的管理方式进行管理;统一的DAO异常体系Spring 提供了一套和实现技术无关的、面向 DAO 层语义的异常体系,并通过转换器将不同的持久化技术的异常转换为Spring 的异常;Sp原创 2017-12-16 19:45:10 · 1046 阅读 · 0 评论 -
Spring DAO(2):Spring JDBC 访问数据库
以下完整示例代码地址:https://gitee.com/assad/springframework-test-daohttps://gitee.com/assad/springframework-test-dao配置使用 Spring JDBC 的基本过程示例模块:site/assad/domain/User(领域对象)site/assad/dao原创 2017-12-16 19:57:43 · 755 阅读 · 0 评论 -
Spring DAO(3):Spring 事务管理
Spring 对于事务管理的支持关于事务管理的基本概念,查看 http://blog.youkuaiyun.com/al_assad/article/details/78808820JDBC 底层已经提供了对于事务管理的一系列接口和实现类,Spring 对于 JDBC 的事务管理进行了进一步的封装,不仅支持编程式的事务管理,还提供了更加简洁的声明式事务管理;Spri原创 2017-12-16 20:01:45 · 616 阅读 · 0 评论 -
Spring DAO(4):Spring 集成 Hibernate
Spring 集成 HibernateSpring 对于大量的 ORM 框架 进行了集成支持,提供了更加方便的基础设施搭建,统一的异常封装,统一的的事务管理,同时允许混用多个 ORM 框架;Spring 支持 Hibernate 的最低版本为 Hibernate 3.6,提供了Spring 风格的更加简便的配置方式,同时提供了 HibernateTemplate 模板类,用于降低原创 2017-12-16 20:03:13 · 523 阅读 · 0 评论 -
Spring DAO(5):集成 MyBatis
Spring 集成 MyBatisSpring 4.0 移除了对于 iBatis 的直接支持,由 MyBatis 自身提供整合支持,对于 MyBatis 来说,没有特别的事务管理策略,除了 JDBC Connectin 之外,没有其他特别的事务资源,因此和 Spring JDBC 事务管理的方式完全一致,采用相同的 DataSourceTransactionManager 事务管理器;原创 2018-02-02 01:55:56 · 387 阅读 · 0 评论 -
Spring DAO(6): 集成 MongoDB(spring-data-mongo)
MongoDB 入门专栏http://blog.youkuaiyun.com/column/details/19681.htmlSpring 集成 MongoDB如果在 Java 项目中直接使用 MongoDB 提供的驱动,需要进行大量的 Document 对象和 POJO 之间的转换,其中很大部分需要手工编写代码,这个过程很繁琐,Spring 子项目 Spring Data MongoDB 提供了一种 Sp...原创 2018-02-22 02:07:02 · 1143 阅读 · 0 评论 -
Spring MVC(1):文件配置 & 使用示例
Spring MVC 体系概述 Spring MVC 是基于 Model2 实现的 MVC 框架,Model 2是经典 MVC 模型在 Web 应用中的变体,这个改变是源于 HTTP 协议的无状态性;Spring MVC 模型的整体架构如下:其中 DispatcherServlet 处于核心地位,负责协调和组织不同的组件以完成请求处理并返回响应结果;Dispatch原创 2018-01-09 14:39:22 · 460 阅读 · 0 评论 -
Spring MVC(2):控制器详解
控制器的基本使用在 Spring MVC 中,在 POJO 类定义注解 @Controller ,再在mvc配置文件中通过 扫描相应的类包,就可以使一个 POJO 类变成一个可以处理 HTTP 请求的控制器(具体代码见:http://blog.youkuaiyun.com/al_assad/article/details/79012665);用户可以创建数量不限的控制器,用于分别原创 2018-01-09 14:52:55 · 840 阅读 · 0 评论 -
Spring MVC(3):数据转换 & 格式化
处理方法的数据绑定过程Spring MVC 通过反射对目标处理方法签名进行分析,见请求消息绑定到处理方法的入参中,数据绑定的核心组件为 DataBinder;Spring MVC 数据绑定过程如下:Spring MVC 主框架将 ServletRequest 对象及处理方法入参对象实例传递到 DataBinder;DataBinder 调用装配在原创 2018-01-09 14:56:10 · 636 阅读 · 0 评论 -
Spring MVC(4):数据校验
Spring MVC数据校验一般来说,准许开发中的 DRY 原则,对于Java程序中的数据校验逻辑和相应的域模型会进行绑定,将代码逻辑集中管理;Spring 在使用DataBinder 对数据进行绑定时,同时可以调用相应的框架进行数据校验工作,提供了 org.springframwork.validation 包用于支持数据校验,其中核心接口为Validate,支持自己提供的数原创 2018-01-09 15:01:14 · 735 阅读 · 0 评论 -
Spring MVC(5):视图 & 视图解析
Spring MVC 支持的视图技术Spring MVC 请求处理方法处理完成后,会返回一个 ModelAndView 对象,该对象包含了模型对象的信息,和视图逻辑名,再借助视图解析器(ViewResolver)得到最终的视图(View),该视图可以是一个 JSP,也可以是一个基于 FreeMarker、Velocity 模板技术的视图,或者XML,JSON,Excel,PDF等;原创 2018-01-09 15:04:52 · 944 阅读 · 0 评论 -
Spring MVC(6):静态资源处理
Spring MVC 静态资源处理早期的 Spring MVC 不能很好地处理静态资源(静态html,js,css,图片,视频等资源),所以在 web.xml 中配置 DispatcherServlet 的请求映射时,往往采用 *.do、*.xhtml 的方式来匹配非静态请求,这样无法采用真正 REST 风格的 URL,因此后来的 Spring MVC 提供了以下2种方式用于处理静态资原创 2018-01-09 15:06:24 · 442 阅读 · 0 评论 -
Spring MVC(7):异常处理
Spring MVC 异常处理Spring MVC 通过 HandlerExceptionResolver 统一处理程序的异常,包括控制器映射、数据绑定和处理器执行过程中产生的异常;HandlerExceptionResolver 有 4个实现类:DefaultHandlerExceptionResolver 、SimpleMappingExceptionResolve原创 2018-01-09 15:08:18 · 335 阅读 · 0 评论 -
Spring MVC(8):本地化解析器
Spring MVC 本地化解析器默认情况下,Spring MVC 会根据客户端的请求头的 Accept-Language 参数判断客户段的本地化类型,此外 Spring MVC 还提供了多种指定客户端本地化类型的方式,如通过 Cookie、Session 、请求URL参数等;Spring MVC 本地化解析器和拦截器都定义在 org.springframework.web.ser原创 2018-01-09 15:09:30 · 931 阅读 · 0 评论 -
Spring MVC(9):文件上传(单文件,多文件) & 下载
文件上传Spring MVC 对于文件上传提供了 MultipartResolver 解析器支持,Spring 使用 Jakarta Commons FileUpload 实现了一个 MultipartResovler 的实现类:CommonsMultipartResolver;在 Spring MVC 中使用文件上传模块,需要导入以下的依赖库:commons-file原创 2018-01-09 21:03:48 · 589 阅读 · 0 评论 -
Spring MVC(10):REST 支持 & Ajax+Spring MVC 实例
Spring 对于 REST 的支持RESTREST(Respresentational State Transfer) 是一种面向资源,强调描述应用程序远程调用的开发方式,并不特指某种技术和框架,简洁来讲:就是将资源的状态以最适合客户端或服务端的形式从服务器客户端转移到客户端的过程;这个与 RPC(remote procedure call)面向服务,关注行为和动作不同;原创 2018-01-12 16:51:16 · 606 阅读 · 0 评论 -
Spring MVC(11):通过 WebSocket 实现前后端全双工通信
Spring WebSocket 支持通常应用程序之间交换信息会使用如 JMS、AMQP 等技术,但是它们都无法实现浏览器客户端和服务器之间的全双工通信,基于 HTML5 的 WebSocket 协议可以用于实现浏览器和服务器之间的全双工通信;相对于传统的服务器轮询方式,WebSocket 可以为长连接的建立一个低延迟、全双工、跨域的通信通道,这样的方式更加高效便捷,很原创 2018-01-10 16:09:27 · 6039 阅读 · 0 评论