Ivan's Blog

虽日暮途远,仍梦想诗和远方


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Spring中多ViewResolver实践

发表于 2015-12-11 | 更新于 2020-11-14 | 评论数:
本文字数: 6.6k

1. 概述

在Spring中,提供View Resolver以使用模型中可用的数据来解析视图,而无需紧密绑定到View技术,无论是JSP,Velocity,JSON 还是 Thymeleaf ,Spring都可以根据需要轻松灵活地配置一个或多个View Resolvers。

2. Spring MVC 请求处理流程

在我们继续了解多个View Resolvers如何实现之前,我们看看 SpringMVC 是如何处理请求的流程:

  1. 传入请求来自web.xml,DispatcherServlet 并最终到达 Controller。
  2. Controller与应用程序层交互并准备Model。
  3. Controller返回ModelAndView,包含模型和视图名称。
  4. ViewResolver提供视图名称和实际视图之间的映射。
  5. View接口决定了展示View的技术。
  6. 然后将视图与模型数据一起呈现到浏览器上。
阅读全文 »

Java Bean Validation

发表于 2015-11-17 | 更新于 2020-11-14 | 评论数:
本文字数: 4.6k

1. 概述

本文主要介绍标准验证框架JSR 380(也称为Bean Validation 2.0)对于JavaBean的验证功能。

在应用程序中验证用户输入是一个非常常见的要求,Java Bean Validation框架已经成为处理这种逻辑的事实上的标准。

阅读全文 »

Jackson 部分序列化

发表于 2015-10-28 | 更新于 2020-11-14 | 评论数:
本文字数: 5.6k

1. 概述

有时候,在序列化/反序列化某个对象时,我们只想要序列化/反序列化部分的字段,而不是全部。在本文中,我们将探讨 如何控制Jackson序列化/反序列化范围的各种方法。

阅读全文 »

Jackson中的 null 处理

发表于 2015-10-27 | 更新于 2020-11-14 | 评论数:
本文字数: 4.2k

1 概述

Jackson 是JSON序列化框架的一种,也是 Spring/SpringBoot 中内置推荐的基础框架,对于 JSON 的序列化有着非常好的性能以及易用的 API。

我们在开发过程中经常会碰到在序列化过程中的 null 问题,为了减少序列化后的数据大小,我们通常希望在序列化的过程中去掉那些 null 的数据,本文将介绍如何设置Jackson在序列化 java类时忽略空字段。

阅读全文 »

Spring中Bean的生命周期

发表于 2015-08-10 | 更新于 2020-11-14 | 评论数:
本文字数: 15k

1. 概述

Spring框架中,一旦把一个Bean纳入Spring IOC容器之中,这个Bean的生命周期就会交由容器进行管理,所以准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。

Spring是通过一系列的回调方法来完成 Bean 的生命周期管理的,开发者通过实现Spring的InitializeingBean和DisposableBean接口,就可以让容器来介入 Bean 生命周期的管理,主要是初始化阶段和销毁阶段的处理。除了初始化和销毁回调,Spring管理的对象也实现了Lifecycle接口来让管理的对象在容器的生命周期内启动和关闭。

JSR-250的@PostConstruct和@PreDestroy注解就是现代Spring应用生命周期回调的最佳实践。使用这些注解意味着Bean不在耦合在Spring特定的接口上。
如果开发者不想使用JSR-250的注解,仍然可以考虑使用init-method和destroy-method定义来解耦。

内部来说,Spring框架使用BeanPostProcessor的实现来处理任何接口的回调,BeanPostProcessor能够找到并调用合适的方法。如果开发者需要一些Spring并不直接提供的生命周期行为,开发者可以自行实现一个BeanPostProcessor。

本文主要介绍我们常见的一些生命周期的管理方式。

阅读全文 »

[转]How to choose the number of topics/partitions in a Kafka cluster?

发表于 2015-03-15 | 更新于 2020-11-14 | 评论数:
本文字数: 9.6k

Note: The blog post Apache Kafka Supports 200K Partitions Per Cluster contains important updates that have happened in Kafka as of version 2.0.

This is a common question asked by many Kafka users. The goal of this post is to explain a few important determining factors and provide a few simple formulas.

More Partitions Lead to Higher Throughput
The first thing to understand is that a topic partition is the unit of parallelism in Kafka. On both the producer and the broker side, writes to different partitions can be done fully in parallel. So expensive operations such as compression can utilize more hardware resources. On the consumer side, Kafka always gives a single partition’s data to one consumer thread. Thus, the degree of parallelism in the consumer (within a consumer group) is bounded by the number of partitions being consumed. Therefore, in general, the more partitions there are in a Kafka cluster, the higher the throughput one can achieve.

阅读全文 »

春花秋月何时了

发表于 2014-05-23 | 更新于 2020-11-14 | 评论数:
本文字数: 2.5k

李煜的故事足够多,就算只说他的人生经历,也足够单独写一篇文章出来,比如他传说中的骈齿双瞳;比如他出城投降时带着的国后“小周后”;比如他死时的“牵机药”;比如他死的那天正好是他的生日,生日又正好是“七夕”……他是词人里最让人一言难尽的词人,他是真正的帝王,也是在词史中可以称“帝”的那一位。

阅读全文 »

古人对“媒人”的七个雅称

发表于 2014-04-23 | 更新于 2020-11-14 | 评论数:
本文字数: 921

upload successful

阅读全文 »

哪些散落的名句

发表于 2014-04-16 | 更新于 2020-11-14 | 分类于 诗词鉴赏 | 评论数:
本文字数: 1.1k

总有些名句散落在我们的脑海里,只知其一不知其二

《集杭州俗语诗》

清·黄增

色不迷人人自迷,情人眼里出西施。

有缘千里来相会,三笑徒然当一痴。

阅读全文 »

王维的《画》

发表于 2014-03-27 | 更新于 2020-11-14 | 分类于 诗和远方 | 评论数:
本文字数: 718

王维的《画》

1
2
3
远看山有色,近听水无声。

春去花还在,人来鸟不惊。

王维的《画》

阅读全文 »
1…567…11
Ivan

Ivan

104 日志
7 分类
99 标签
RSS
GitHub E-Mail Weibo Google Twitter FB Page
© 2020 Ivan
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v7.0.1