Spring Framework Integration 官方文档笔记
Integration
Message Conversion
WebMvcConfigurationSupport 内含默认的 Converter
BufferedImageHttpMessageConverter 返回图片
@RequestMapping(path = "/image/{id}", produces = MediaType.IMAGE_JPEG_VALUE)
public BufferedImage getImage(@PathVariable Integer id) throws Exception {Weather weather = weatherMapper.getById(id);return ImageIO.read(weather.getPicture());
}
6. Mail
(1) 配置并将 JavaMailSender
注入到 IOC 容器,类似一个 Mail 工厂配置,可以 getSession,也可以 createMimeMessage
@Configuration
public class JavaMailConfig {@Bean(name = "javaMailSender")public JavaMailSenderImpl javaMailSender() {JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); // 唯一的实现javaMailSender.setHost("smtp.qq.com"); // 设置 SMTP 主机javaMailSender.setUsername("945086245@qq.com");javaMailSender.setPassword("password");javaMailSender.setDefaultEncoding("UTF-8");return javaMailSender;}
}
(2) 使用 javaMailSender 发送。MimeMessageHelper 类似 Builder 设计,但是没有做链式调用。
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
mimeMessageHelper.setFrom("945086245@qq.com"); // 发送人
mimeMessageHelper.setTo(email); // 接收人
mimeMessageHelper.setSubject("验证码");
mimeMessageHelper.setText("您的验证码是: 9836, 如非本人操作请忽视。");
javaMailSender.send(mimeMessage);
8. Cache Abstraction
8.1. Understanding the Cache Abstraction
一般地,buffer 可以翻译为缓冲区,用于高速与低速的实体之间的中间存储,缓冲区至少对知晓它的一方是可见的。
cache 可以翻译为缓存,根据定义是隐藏的,任何一方都不知晓。
- SimpleCacheConfiguration
- EhCacheCacheConfiguration
- GenericCacheConfiguration
- RedisCacheConfiguration
- …
8.2. Declarative Annotation-based Caching
@Cacheable
:触发缓存填充@CacheEvict
:触发缓存驱逐@CachePut
:在不干扰方法执行的情况下更新缓存@Caching
:重新组合要应用于方法的多个缓存操作@CacheConfig
:在类级别共享一些常见的缓存相关设置
8.2.1. The @Cacheable Annotation
注解属性 | 说明 |
---|---|
value / cacheNames | 缓存的名字 |
key | 缓存数据使用的 key,默认使用方法参数 |
keyGenerator | 自定义 key 生成器,实现 KeyGenerator |
cacheManager | 指定缓存管理器 |
condition | 指定符合条件的情况下才缓存 |
unless | 缓存的否定条件 |
sync | 是否使用异步模式 |
Default Key Generation
key 默认采用 SimpleKeyGenerator
生成。以方法参数为标识。
Synchronized Caching
Spring Core 框架的 CacheManager
实现都支持 sync。其他缓存库未必。
Available Caching SpEL Evaluation Context
8.2.2. The @CachePut Annotation
8.2.3. The @CacheEvict annotation
8.2.6. Enabling Caching Annotations
@Configuration
@EnableCaching
public class AppConfig {}
8.3. JCache (JSR-107) Annotations
从 Spring 4.1 开始,Spring 缓存抽象完全支持 JCache 注解
8.3.1. Feature Summary
Spring | JSR-107 | 备注 |
---|---|---|
@Cacheable | @CacheResult | |
@CachePut | @CachePut | |
@CacheEvict | @CacheRemove | |
@CacheEvict(allEntries=true) | @CacheRemoveAll | |
@CacheConfig | @CacheDefaults |
8.3.2. Enabling JSR-107 Support
Spring Framework Integration 官方文档笔记相关推荐
- Spring Data Commons 官方文档学习
Spring Data Commons 官方文档学习 -by LarryZeal Version 1.12.6.Release, 2017-07-27 为知笔记版本在这里,带格式. Table o ...
- Spring Framework 中文官方文档
Spring Framework 中文官方文档 目前为最新版 5.3.11. 其他spring文档不断更新中 1.历史.设计理念.反馈.入门. Overview 2.IoC 容器.事件.资源.i18n ...
- 《Spring Cloud Netflix官方文档》2. 服务发现:Eureka服务器
2. 服务发现:Eureka服务器 2.1 如何创建Eureka服务器 引用org.springframework.cloud的spring-cloud-starter-eureka-server就可 ...
- 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
1. 服务发现:Eureka客户端 服务发现是微服务架构的关键原则之一.使用手动配置或一些约定方式来处理多服务多实例的方式是非常困难,并且十分脆弱的.Eureka同时是Netflix服务发现的 ...
- 【goldengate】官方文档笔记三 Oracle GoldenGate 实时报表
这篇文档循序渐进的讲述了OGG在适时复制的几种配置方案.从最基本的配置开始讲起,逐渐加入新的进程,加入新的策略,配置也随之改变.下面从最基础的配置说起. 报表配置 一对一复制是OGG最基本的配置方案: ...
- 【goldengate】官方文档笔记四 Oracle GoldenGate实时数据分布
数据分布配置是一对多得配置方案.OGG支持将源库同步到多个目标系统. 数据分布配置需要注意事项: 如果数据传输过程中,投递进程(data pump)发现目标库网络连接出现故障,捕获到得数据会继续像其它 ...
- Spring Boot配置文件规则以及使用方法官方文档查找以及Spring项目的官方文档查找方法...
比如要使用Spring Boot实现一个功能,最直接的方式是Google,但是往往搜索出来的都比较乱,关键是乱在不同的版本上,比如1.x版本和2.x版本的配置是不一样的.最明显区别是在使用Thymel ...
- 关于Spring框架(官方文档)
反应性堆栈上的Web Version 5.1.0.RELEASE 目录 1. Spring WebFlux 1.9.反应铁心 1.10.使用DispatcherHandler 1.11.带注释控制器 ...
- Unity官方文档笔记(一)在Unity中操作
前言:本系列文档基于Unity 2019.4版本进行整理 一 系统要求 1.1 Unity Editor Windows 需要Win7(SP1+)及以上系统,仅限64位版本:CPU要求X64架构:GP ...
最新文章
- About darwin OS
- Go语言入门——dep入门
- 消除warning方法
- android打包成apk会屏蔽注解,Android解决混淆打包之后注解被去掉的问题-Go语言中文社区...
- 如何使用初始化列表消除冗余C++代码
- SQL中返回刚插入记录的ID
- android三国2,三国演义2单机版安卓
- HP 6L WIN7 WIN8 驱动
- 支持javascript的ppt软件_14款基于Javascript的数据可视化工具
- 烂笔头也需要常翻出来用用啊
- ADS1256,引起了通信丢失
- python打开word并定位_python自动化办公之 python操作Word
- Markdown语法手册
- WOT 2017会议嘉宾名单提前看!
- 形状因子对禁带的调控
- docker安装Mysql
- Libra最大的竞争对手是什么?Calibra高管给出答案
- CPU内部结构图和MicroBlaze内部结构图对比
- DLR in Silverlight
- 全新界面下拉整理 点心省电3.0版
热门文章
- 武汉本地三大门户网站的分析和比较!
- SpringCloud学习记录 | 第十五篇:SpringCloud Alibaba Nacos配置中心-单机版
- 最新推荐 | 清华NLP图神经网络GNN论文分门别类,16大应用200+篇论文
- 2.架设邮件服务器-windows 2003 POP3服务,SMTP服务收发邮件
- 超级App成为Gartner预测的战略技术,软件降本增效是否能进一步提速?
- HBase 数量统计
- 京东发布“厂直优品”计划 目标为超10万家制造企业搭建零售系统
- Leetcode501. Morris中序遍历
- 独立开发变现周刊(第80期):Notion页面转成网站客服小部件,月收入5K美金
- 拍照翻译的软件有什么?不妨试试这几款好用的软件