Spring Boot

当IntelliJ IDEA2020.1遇上JDK14:所有美好环环相扣

99封情书 提交于 2020-10-29 16:47:18
原文地址:blog.csdn.net/weixin_43413658/article/details/105839472 松哥原创的四套视频教程已经全部杀青,感兴趣的小伙伴戳这里--> Spring Boot+Vue+微人事视频教程 IntelliJ IDEA新功能: 界面支持中文 但这里要注意的是不是原生支持中文,而是要安装jetbrains的官方插件, 如下图 导航栏改进 上面的导航栏可以直接跳转到各个方法,这个以前要实现的话要点左侧的Structure ,现在就方便多了 支持Javadoc的渲染 以前Javadoc看起来很费劲,要手动转换html格式,现在看起来就很方便了,还可以更改字体大小 以前 现在 新增主题和字体 主题: 字体: Lightedit模式 你可以把idea当成编辑器 Zen模式 进入了蝉模式,世界瞬间变得清爽了很多,让你专注于写代码 在IDEA里安装JDK 支持Java 14新特性 instanceof用法增强 record新语法支持 命令行终端支持分栏 更加智能的检查和重构 支持就地更改方法签名 智能分析日期字符串格式 更加智能的检查和重构 支持数据流分析辅助,可以直接预测下面的运行结果 调试时,支持对象字段的置顶 以文件形式存储运行配置 更加先进的版本控制 优化了代码提交的窗口 支持搜索,刷新本地及远端的代码分支 Maven和Gradle导入更新

SpringBoot Filter 配置 过滤拦截的两种方式

断了今生、忘了曾经 提交于 2020-10-29 13:34:00
1.通过扫描注解完成Filter组件注册 创建一个类,实现Filter接口,实现doFilter()方法 在该类使用注解 @WebFilter ,设置 filterName 与 urlPatterns 在doFilter中编写代码 编写启动类:增加注解 @ServletComponentScan /** * SpringBoot整合Filter 方式一 项目 www.fhadmin.org */ //@WebFilter(filterName="FirstFilter" , urlPatterns= {"*.do","*.jsp"}) @WebFilter(filterName="FirstFilter" , urlPatterns= "/first") public class FirstFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("进入Filter"); chain.doFilter(request, response); System.out

[springBoot系列]--springBoot注解大全

给你一囗甜甜゛ 提交于 2020-10-29 11:52:03
一、注解(annotations)列表 @SpringBootApplication :包含了@ComponentScan、@SpringBootConfiguration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。 @SpringBootConfiguration: 等同于spring的XML配置文件;使用 Java 代码可以检查类型安全。 @EnableAutoConfiguration: 自动配置。 @ComponentScan: 组件扫描,可自动发现和装配一些Bean。 @Component: 可配合CommandLineRunner使用,在程序启动后执行一些基础任务。 @RestController: 注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。 @Autowired: 自动导入。 @PathVariable: 获取参数。 @JsonBackReference: 解决嵌套外链问题。 @RepositoryRestResourcepublic: 配合spring-boot-starter-data-rest使用。 二、注解

SpringBoot 2.0整合阿里云OSS,实现动静分离架构

南笙酒味 提交于 2020-10-29 07:46:41
前言 相信大部分开发者对下面这张架构图并不陌生吧,现在很多网站/应用都采用了动静分离的架构进行部署。博主的博客也不例外,主机采用的是阿里云的 ECS,使用 CDN 做静态内容分发,不过静态文件还是存储在 ECS,采用的是 Nginx 做动静分离。今天我们来学习一下如何使用阿里云 OSS 做动静分离。 简介 阿里云 OSS,海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%的数据可靠性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储成本。 产品优势 稳定可靠 OSS作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双十一业务高峰,历经高可用与高可靠的严苛考验。OSS的多重冗余架构设计,为数据持久存储提供可靠保障。同时,OSS基于高可用架构设计,消除单节故障,确保数据业务的持续性。 安全合规 支持服务端加密、客户端加密、防盗链、IP黑白名单、细粒度权限管控、日志审计、WORM特性,并获得多项合规认证,包括SEC、FINRA等,满足企业数据安全与合规要求。 智能存储 提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片场景识别、人脸识别、SQL就地查询等,并无缝对接Hadoop生态、以及阿里云函数计算、EMR、DataLakeAnalytics、BatchCompute、MaxCompute

大家久等了,改造版阿里巴巴 sentinel 控制台终于开源了

妖精的绣舞 提交于 2020-10-29 07:45:42
前言 最近几天,好几个小伙伴在后台询问,改造后的 sentinel-dashboard 什么时候开源。讲真,不是不想给大家放出来,是因为一些地方还没有完善好,怕误导了大家,在经过了一个星期业余时间的努力,终于把基础版本搞定了。小伙伴们终于可以进行拉取测试了。 历程 首先回顾一下改造之路: SpringBoot 2.0 + Sentinel 动态限流实战 SpringBoot 2.0 + Nacos + Sentinel 流控规则集中存储 SpringBoot 2.0 + InfluxDB+ Sentinel 实时监控数据存储 阿里巴巴 Sentinel + InfluxDB + Chronograf 实现监控大屏 最终架构 持续学习 sentinel 的学习已经告一段落,后面会持续学 InfluxDB ,它是目前比较流行的时间序列数据库。 那么什么是时间序列数据库?最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度、湿度,以及机器的CPU的使用率等等。 随着物联网的发展,作为一名程序员,时序数据库是必不可少的一项必备技能。所以,在开源 sentinel-dashboard 项目下,会持续提交一些 InfluxDB 的学习笔记以及使用场景,有兴趣的小伙伴可以一起加入进来。 源码 https://gitee.com/52itstyle/sentinel

微信抢红包过期失效实战案例

妖精的绣舞 提交于 2020-10-29 07:45:15
前言 微信红包业务,发红包之后如果24小时之内没有被领取完就自动过期失效。 架构设计 业务流程 老板发红包,此时缓存初始化红包个数,红包金额(单位分),并异步入库。 红包数据入延迟队列,唯一标识+失效时间 红包数据出延迟队列,根据唯一标识清空红包缓存数据、异步更新数据库、异步退回红包金额 代码案例 这里我们使用 Java 内置的 DelayQueue 来实现, DelayQueue 是一个***的 BlockingQueue ,用于放置实现了 Delayed 接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。 老板发了10个红包一共200人民币,假装只有9个人抢红包。 发红包,缓存数据进入延迟队列: /** * 有人没抢 红包发多了 * 红包进入延迟队列 * 实现过期失效 * @param redPacketId * @return */ @ApiOperation(value="抢红包三",nickname="爪哇笔记") @PostMapping("/startThree") public Result startThree(long redPacketId){ int skillNum = 9; final CountDownLatch latch = new CountDownLatch(skillNum);//N个抢红包

阿里云OSS(对象存储服务)整合测试

回眸只為那壹抹淺笑 提交于 2020-10-29 07:27:12
一 点睛 官方参考: https://help.aliyun.com/document_detail/32009.html?spm=a2c4g.11174283.6.916.341e7da2ntnkHl https://github.com/alibaba/aliyun-spring-boot/tree/master/aliyun-spring-boot-samples/aliyun-oss-spring-boot-sample 二 准备工作——开通AccessKey的方法 三 原生方式 1 导入依赖 <!-- 阿里云对象存储SDK--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.5.0</version> </dependency> 2 测试代码 @Test public void testupLoads1() throws FileNotFoundException { // 从阿里云控制台获取。 String endpoint = "oss-cn-chengdu.aliyuncs.com"; // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维, //

SpringFramework之ViewResolver优化

Deadly 提交于 2020-10-29 06:58:33
Springboot版本是2.x Springboot中,对mvc进行自动化配置时在WebMvcAutoConfiguration中会自动注入InternalResourceViewResolver(渲染jsp的)、BeanNameViewResolver、ContentNegotiatingViewResolver。 但是我们一般是直接返回json或者使用 thymeleaf ,所以 InternalResourceViewResolver和BeanNameViewResolver是用不到的,但是springmvc的render中这几个都会被调用到,所以如果我们将InternalResourceViewResolver和BeanNameViewResolver去掉,不加入到mvc的ViewResolver集合中那么就可以优化渲染的过程。 来看ContentNegotiatingViewResolver#resolveViewName,如下List-1 List-1 public View resolveViewName(String viewName, Locale locale) throws Exception { RequestAttributes attrs = RequestContextHolder.getRequestAttributes(); Assert

B站40K+播放量!SpringBoot+Vue前后端分离完整入门教程

陌路散爱 提交于 2020-10-29 06:17:00
最近很多小伙伴都在学习前后端分离的知识,苦于找不到好的基础资料,于是我翻箱倒柜,找了一份好的Vue入门视频和笔记pdf,然后更是亲自录制了SpringBoot + Vue的前后端分离的综合项目,现在统统免费共享给大家! 很多小伙伴都靠这些资料成功学会了Vue,并且能自己动手写前后端分离项目了,相信你也能行! 资料介绍 Vue入门,可以先看黑马程序员的免费Vue入门课程视频,讲得很不错,4小时长,学完足以入门和写简单项目! 一个Vue的入门视频 一份Vue的PDF 然后Vue入门之后,我们来结合后端对接开发,于是我录制了一个SpringBoot + Vue的开源博客项目,并编写了详细的开发文档,包括前端和后端。只需要按照文档,结合讲解视频,就能一步一步跟着做项目了哈,相信这样能大大加快学习的效率! 后端文档: 前端文档: 讲解视频: 如何获取? 1. 识别并关注公众号「 MarkerHub 」; 2. 在下面公众号后台回复关键字「 vue 」。 👆长按上方二维码 2 秒 回复「 vue 」即可获取上面所有资料 本文分享自微信公众号 - 码农沉思录(code-thinker)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net

spring cloud网关gateway

前提是你 提交于 2020-10-29 05:53:09
spring gateway 使用基于netty异步io,第二代网关; zuul 1 使用servlet 3,第一代网关,每个请求一个线程,同步Servlet,多线程阻塞模型。 而spring貌似不想在支持zuul 2了 API网关作为后端服务的统一入口,可提供请求路由、协议转换、安全认证、服务鉴权、流量控制、日志监控等服务。 1.搭一个简单的网关 idea中file-new-project pom.xml文件(引入eureka) <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot