Spring Boot 集成 WebSocket
得益于 Spring Boot 约定大于配置的特性,集成 Websocket 非常简单,只需在依赖中加入对应的 starter 就可完成引入。
1 | <dependency> |
加入 starter 后,websocket 已经完成引入,这时可以使用 @Configuration 类来配置,然后使用 @EnableWebSocketMessageBroker
来启用 WS。
得益于 Spring Boot 约定大于配置的特性,集成 Websocket 非常简单,只需在依赖中加入对应的 starter 就可完成引入。
1 | <dependency> |
加入 starter 后,websocket 已经完成引入,这时可以使用 @Configuration 类来配置,然后使用 @EnableWebSocketMessageBroker
来启用 WS。
在 Java 后端的数据校验常用 @NotNull
、@NotEmpty
或 @Size
等注解进行校验,但标应准的验证注解是很局限的,在一些特殊要求的验证中并不能满足需求。
要想实现业务用特定需求的验证只用定义一个注解和对应的校验类既可,下面实现一个非空字符串验证注解。
前段时间将 Shiro 作为权限模块整合到 Spring 中使用,也发了篇整合相关的文章《Shiro 方法上有权限注解的时候才鉴权》,讲如何实现在有打注解时才校验权限。
在集成后的项目中开发时出现有个 Service 的事务是无效的,@Transactional
注解无任何作用。检查后发现这个 Service 是在 Shiro 的 Realm 类中使用 @Autowired
注入的。
Spring 提供了一些 Java 注解用于声明缓存。
@Cacheable
用于触发缓存@CacheEvict
用于失效缓存@CachePut
可用于在不影响方法运行的情况下更新缓存@Caching
用于将多种缓存操作应用到一个方法中@CacheConfig
用于配置同一个类的缓存配置,类中的所有缓存都将共享这个配置Caffeine 是个高性能的开源 Java 内存缓存库,具有较高的命中率和出色的并发能力。在 Spring Boot 中集成也非常简单,提供了各种开箱既用的工具。