内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Resolvers 服务于资源 回滚到默认的Servlet Path Matching - 路径匹配 Message Converters - 消息转换器 MVC Java config中的高级定制 MVC namespace中的高级定制 在前面的文档中讲解了Spring MVC的特殊beans,以及Dis…
接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolvers,可以让你在浏览器中render model,而不必绑定到某种特定的view技术上.开箱即用,例如,Spring可以让你使用JSPs.Velocity目标和XSLT views.See Chapter 23, View technologies for a discussion of how…
介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean types 默认的DispatcherServlet配置 DispatcherServlet处理顺序 实现Controller 使用@Controller定义一个Controller 使用@RequestMapping映射requests 定义@RequestMapping handler met…
关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Templates 配置 例子 Velocity & FreeMarker 依赖 Context配置 -- 上下文配置 创建模板 高级配置 velocity.properties FreeMarker 绑定支持和form处理 bind marcos -- 绑定宏 simple binding -- 简单绑定 for…
个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~…
个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~…
接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conversion(ConversionService).Spring Field Formatting.globle date & time format.Spring Validation. 本篇上承自前一篇,建议先看前一篇. 4.Spring Type Conversion (Spring类型转换) 上…
本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不满意,表达能力还是不行啊.另外,格式太花了,很不喜欢. 前提 1.什么是JavaBean? 简单类,无参构造,有SETTER/GETTER,其对应的字段称为属性.--其实还有isXxx,用于布尔类型的属性,略. 详见 https://en.wikipedia.org/wiki/JavaBeans 注…
题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的人,但事实并非如此,例如我.好在闷着头看了一遍,又查资料又敲代码,总算明白了. 其实说穿了一文不值,我们用一个例子来解释: 假定,现有一个app,功能是接收你输入的生日,然后显示你的年龄.看起来app只要用当前日期减去你输入的日期就是年龄,应该很简单对吧?可惜事实不是这样的. 这里面有三个问题: p…
在Servlet 3.0+ 环境中,你可以编码式配置Servlet容器,用来代替或者结合 web.xml文件.下面是注册DispatcherServlet : import org.springframework.web.WebApplicationInitializer; public class MyWebApplicationInitializer implements WebApplicationInitializer { @Override public void onStartup(…
一个良好的HTTP缓存策略可以显著地增进web应用的性能和其客户端的体验.主要使用"Cache-Control" HTTP response header来完成,配合conditional headers例如"Last-Modified"和"ETag". "Cache-Control" HTTP response header 会建议私有缓存(如浏览器)和公开缓存(如代理)如何缓存HTTP response以供将来复用. &q…
1.HandlerExceptionResolver Spring HandlerExceptionResolver的实现们会处理controller执行过程中发送的unexpected exceptions. 一个HandlerExceptionResolver类似于你这web.xml中定义的exception mappings.然而,它们提供了更具弹性的方式.例如,它们提供了抛出exception时正在执行的handler的信息.更多地,编码式处理exceptions给予你更多的选择,可以在…
当返回一个ModelAndView时,可以使用其addObject(Object obj)方法,此时的约定是: An x.y.User instance added will have the name user generated. An x.y.Registration instance added will have the name registration generated. An x.y.Foo instance added will have the name foo gener…
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-themeresolver 做了一个小demo,放到了码云上,点我 1.概览 你可以应用Spring Web MVC框架themes来为你的应用设置全局的外观. 一个theme就是静态资源的一个集合 -- 通常是css和图片,会影响应用的视觉样式. 2.定义themes 想在你的web应用中使用这些themes,你必须设置…
重点是通用配置,非常建议看一下!有助于理解Spring的ApplicationContext与Servlet Container的关系! 1.介绍 Spring Web Flow SWF目标是成为web应用页面flow管理的最佳解决方案. SWF集成了现有的框架,如Spring MVC 和 JSF,在Servlet和Portlet环境中.如果你有一个(或多个)业务处理,且 受益于会话模型而非纯请求模型,那SWF可能就是解决方案. SWF允许捕获逻辑页面flows,并将其作为自包容的模块 -- 可…
1.介绍Spring Web MVC 框架 Spring Web MVC 框架是围绕DispatcherServlet设计的,所谓DispatcherServlet就是将请求分发到handler,需要有配置好的handler映射.视图解析.本地化.时区.theme解决方案.还有上传文件的支持.默认的handler是基于@Controller和@RequestMapping注解.自Spring 3.0 起,@Controller注解还能用于RESTful,需要配合@PathVariable以及其他…
本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Enterprise JavaBeans (EJB) integration -- EJB集成 Chapter 30, JMS (Java Message Service) -- JMS (Java 消息服务) Chapter 31, JMX Chapter 32, JCA CCI Chapter 33,…
题外话 官方文档用evaluate这个单词来描述从表达式中获得实际内容的过程.如果直译的话,应该是评估.估值之类的意思.个人以为翻译成解析更易懂,但parse已经是解析了,为了避免冲突,就只好保留了evaluate的形式.--如果有更好的建议,请务必通知我. 1.介绍 SpEL支持在运行时 查询.操作对象图. 2.功能概览 英文 中文 Literal expressions 字面值表达式 Boolean and relational operators 布尔和关系操作符 Regular expr…
学习内容相关信息 最新版本:2.2.0 CURRENT GA 官网地址 官方文档地址 单页版文档地址 代码生成网址 2.入门 Spring Boot的主要目标是: 为所有Spring开发提供更快且入门更简单的体验 开箱即用,但随着需求开始分歧,可以快速从默认配置重新开始. 提供一系列大型项目通用的非功能性功能(例如嵌入式服务器,安全性,指标,运行状况检查和外部配置). 完全没有代码生成,也不需要XML配置. Spring Boot 2.2.0.RELEASE需要Java 8,并且与Java 13…
9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalysis中,可以在启动时拦截异常并将其转换为易于阅读的消息.Spring Boot为与应用程序上下文相关的异常,JSR-303验证等提供了此类分析器.您也可以创建自己的. AbstractFailureAnalyzer是一个方便的FailureAnalyzer扩展,它检查要处理的异常中是否存在指定的异常类型.您可…
个人提示:如果需要用到页面推送,高频且要低延迟,WebSocket无疑是最佳选择.否则还是轮询和long polling吧. 做了一个小demo放在码云上,有兴趣的可以看一下,简单易懂:websocket-demo. 本部分覆盖了web应用中Spring框架对WebSocket-style messaging的支持,包括使用STOMP作为应用及WebSocket子协议. 介绍 部分,给出了一个关于WebSocket的框架,覆盖了adoption challenges.design conside…
到目前为止,已经看了一百页.再次感慨下,如果想使用Spring,那可以看视频或者找例子,但如果想深入理解Spring,最好还是看官方文档. 原计划是把一些基本接口的功能.层次以及彼此的关系罗列一下.同时兼顾版本的演化,简述下相应功能的历史,最好是画一张图. 以BeanPostProcessor接口为例,当configuration metadata中有其实现的bean definition时,容器会在所有bean创建完成后执行其中的方法,但是会在@PostContruct之前. 而BeanPos…
最后部分的XML懒得写了,因为个人更倾向于JavaConfig形式. 为知笔记版本见这里,带格式~ 做了一个小demo,放到码云上了,有兴趣的点我. 说明:需要先了解下JMS的基础知识. 1.介绍 Spring 提供了一个JMS集成框架,简化了JMS API的使用,类似于Spring提供的JDBC API集成. JMS可以粗略地划分成两大功能区域,就是消息的生产(production)和消费(consumption).JmsTemplate 用于消息的生产和同步的消息接收.对于异步消息接收,类似…
3.使用Spring Boot 3.1.构建系统 建议选择Maven或Gradle作为构建工具 每个Spring Boot版本都提供了它所支持的依赖关系的精选列表.实际上,您不需要为构建配置中的所有这些依赖项提供版本,因为Spring Boot会为您管理版本.当您升级Spring Boot本身时,这些依赖项也会以一致的方式升级. Spring Boot的每个发行版都与Spring Framework的基本版本相关联.强烈建议不要指定其版本. 3.1.2.Maven Maven用户可以从sprin…
4.7.开发Web应用程序 Spring Boot非常适合于Web应用程序开发.您可以使用嵌入式Tomcat,Jetty,Undertow或Netty创建独立的HTTP服务器.大多数Web应用程序都使用该spring-boot-starter-web模块来快速启动和运行.您还可以选择使用spring-boot-starter-webflux模块来构建反应式Web应用程序. 4.7.1.Spring Web MVC框架 在Spring Web MVC框架(通常简称为"Spring MVC"…
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-localeresolver Spring架构的多数部分都支持国际化,如同Spring Web MVC这样.DispatcherServlet使得你可以自动的处理messages -- 使用客户端的locale. 这是通过LocaleResolver对象完成的. 当一个请求进来时,DispatcherServlet会查找一个…
9.4.Spring MVC Spring Boot有许多启动器包含Spring MVC.请注意,一些启动器包括对Spring MVC的依赖,而不是直接包含它. 9.4.1.编写JSON REST服务 只要Jackson2在类路径上,Spring Boot应用程序中的任何Spring @RestController默认情况下都应呈现JSON响应,如以下示例所示: @RestController public class MyController { @RequestMapping("/thing…
4.8. RSocket RSocket参考 RSocket是用于字节流传输的二进制协议.它通过单个连接传递的异步消息来启用对称交互模型. Spring框架的spring-messaging模块在客户端和服务器端都支持RSocket请求者和响应者. 更多参考Spring Framework的文档 4.8.1.RSocket策略自动配置 Spring Boot自动配置一个RSocketStrategies bean,该bean提供了用于编码和解码RSocket有效负载的所有必需基础结构.默认情况下…
4.10.使用SQL数据库 从使用JdbcTemplate直接的JDBC访问到完整的"对象关系映射"技术(例如Hibernate),Spring框架为使用SQL数据库提供了广泛的支持. Spring Data提供了更高级别的功能:直接从接口创建Repository实现,并使用约定从您的方法名称生成查询. 4.10.1.配置数据源 Java的javax.sql.DataSource接口提供了使用数据库连接的标准方法.传统上,"数据源"使用URL以及一些凭据来建立数据库…
4.25. Testing Spring Boot提供了许多实用程序和注解,可以在测试应用程序时提供帮助.测试支持由两个模块提供:spring-boot-test包含核心项,spring-boot-test-autoconfigure支持测试的自动配置. 大多数开发人员都使用spring-boot-starter-test 启动器,该程序同时导入Spring Boot测试模块以及JUnit Jupiter,AssertJ,Hamcrest和许多其他有用的库. 启动程序还带来了老式引擎,因此您可以…