- 博客(60)
- 收藏
- 关注
原创 【原创】Web前端断点续传大文件到OSS,WebSocket连接后台实现主动推送任务进度
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。一、背景最近因为有个需求:web前端同时上传多个大文件,并且要求支持断点续传和取消上传,还有显示上传进度条上传完成之后,前端自动将文件传至后台进行压缩,同时显示压缩进度,压缩成功后返回压缩后的结果,提供url下载二、实现方案第一个需求对于第一个需求,实现方案是采用OSS的断点续传SDK。直接由Web前端将文件上传到OSS,并得到文件的url路径。这样做的好处是:绕过Spring
2021-09-28 21:21:39
1811
原创 【原创】linux的vscode连接不上Extensions,报错:Cannot connect to VS CODE MARKETPLACE Extensions
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。背景用的公司电脑下载vscode,但是Extentsions一直都不能使用(公司电脑是:ubuntu16.04)。报以下错误:We cannot connect to the Extensions Marketplace at this time, please try again later.问题探究找了好多github上的issue,还有google了好多论坛,试了很多方法都不行
2021-09-14 17:50:43
3060
2
原创 【原创】ubuntu16.04,执行npm install命令时,报错routines:ssl3_get_record:wrong version number
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。今天用npm安装vue的环境的时候出现问题:npm ERR! request to https://registry.npm.taobao.org/vue failed, reason: write EPROTO 140449102006080:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/
2021-09-14 16:29:19
5604
转载 【转载】Java8特性:Stream基础语法学习以及训练实例
原文链接:Java 8系列之Stream的基本语法详解(若有侵权,请私聊我删除哦,谢谢)一、Stream的介绍聚合操作是Java 8针对集合类,使编程更为便利的方式,可以与Lambda表达式一起使用,达到更加简洁的目的。对Stream聚合操作可以总结为以下三个步骤:创建Stream:通过stream()方法,取得集合对象的数据集。Intermediate:通过一系列中间(Intermediate)方法,对数据集进行过滤、检索等数据集的再次处理。Terminal通过最终(terminal)方法完
2021-09-13 14:45:11
289
转载 【转载】Spring Security两种资源放行策略
【原文链接】:https://blog.51cto.com/u_15080000/2592242一、两种思路在 Spring Security 中,有一个资源,如果你希望用户不用登录就能访问,那么一般来说,你有两种配置策略:第一种就是在 configure(WebSecurity web) 方法中配置放行,像下面这样:@Overridepublic void configure(WebSecurity web) throws Exception { web.ignoring().antMa
2021-09-07 21:11:00
1361
原创 OAuth2的resource_id配置与验证(含源码分析)
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。Spring Security OAuth2之resource_id配置与验证一、resource_id的作用资源服务器端:每一个服务请求到资源服务器,都可以在资源服务器为当前的ResourceServer资源服务(即一个微服务实例)设置一个resource_id。认证服务器端:OAuth2的认证服务器,在给client第三方客户端授权的时候,可以设置这个client可以访问哪
2021-08-04 19:37:12
2957
原创 Feign的使用方法以及与RestTemplate的区别
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。Feign的使用方法第一步:导入依赖第二步:在消费者服务,开启Feign客户端@SpringBootApplication@EnableFeignClients // 开启Feign客户端public class MircoRouteApplication { public static void main(String[] args) { SpringApp
2021-08-02 14:58:51
17623
原创 SpringSecurity以及OAuth2源码分析——实现多登录方式
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。SpringSecurity的Oauth2源码分析我们先来看下通过Oauth2获取token的源码流程:一、获取token的接口是/oauth/token,在TokenEndpoint类中public class TokenEndpoint extends AbstractEndpoint { @RequestMapping(value = "/oauth/token", meth
2021-07-25 17:31:55
1875
原创 【原创】如何装电脑固态硬盘——拯救者ISK15.6为例
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。作者:ExcelMann,转载需注明。事先准备事先了解电脑的接口是不是m.2接口还是其他接口;了解电脑的主板支持的固态协议是什么?(是NVME还是SATA,前者的速度更好)通常买PCLE高速的,一般都是支持的,先事先了解下是否电脑的主板支持PCLE通道?上贴吧和知乎看下自己的电脑型号一般都是买的什么型号和品牌的固态?(我的拯救者一般选择西数/三星,推荐西数的蓝盘SN500的500G和SN550的250G)装固态的步骤—
2021-05-29 14:20:56
8185
1
原创 《SSM笔记》——SSM整合
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。SSM整合作者:ExcelMann,转载需注明。【参考文章】狂神说SpringMVC05:整合SSM框架1、基本环境搭建新建一个maven项目导入所有需要的依赖在pom.xml中,配置<build>,解决导出文件不成功的问题连接数据库搭建项目的文件环境为项目添加web支持新增com.excelman.dao新增com.excelman.pojo新增com.excelman.service新增c
2021-03-10 15:11:11
179
1
原创 《SSM笔记——SpringMVC》9、拦截器
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。9、拦截器作者:ExcelMann,转载需注明。9.1、概念介绍SpringMVC的处理器拦截器类似于Servlet中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器和拦截器的区别:拦截器是AOP思想的具体应用。过滤器:servlet规范中的一部分,任何JavaWeb项目都可以使用。(我们在web.xml中也配置了防止乱码的过滤器)在url-pattern中配
2021-03-09 12:10:18
131
原创 《SSM笔记——SpringMVC》8、Ajax技术
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。8、Ajax技术作者:ExcelMann,转载需注明。8.1、介绍异步无刷新请求。学习文章:狂神说SpringMVC07:Ajax研究JQuery是一个库,不是一个框架,里面包含有大量的JS函数。JQuery Ajax本质就是 XMLHttpRequest,对他进行了封装,方便调用!jQuery.ajax(...) //主要记得url、data、success、error 部分参数:
2021-03-09 12:10:01
175
原创 《SSM笔记——SpringMVC》7、JSON讲解及乱码问题
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。7、JSON讲解及乱码问题作者:ExcelMann,转载需注明。7.1、JSON简介在前后端分离时代:json作为前端和后端交换数据的格式。JS对象和JSON的关系:可以这么理解:JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串;7.2、JS对象和JSON之间的转换<script> //编写一个JS对象 var obj = { nam
2021-03-09 12:09:46
113
原创 《SSM笔记——SpringMVC》6、数据处理
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。6、数据处理作者:ExcelMann,转载需注明。6.1、处理提交数据1、提交的域名称和处理方法的参数名一致2、提交的域名城和处理方法的参数名不一致采用注解@RequestParam。这个注解就类似MyBatis中的@Param注解,一般情况下,对于前端传来的参数,都要加上这个注解,表示这个参数是由前端传来的。3、提交的是一个对象注意:如果采用提交对象的方式,前端传的参数名,必须与对象的属性名完全一致,不然就会
2021-03-09 12:08:35
169
原创 《SSM笔记——SpringMVC》5、结果跳转方式
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。5、结果跳转方式作者:ExcelMann,转载需注明。5.1、采用视图解析器返回ModelAndView对象5.2、采用ServletAPI通过利用HttpServletRequest和HttpServletResponse,可以不需要视图解析器,就能实现转发和重定向。@RequestMapping("testReq")public void test1(HttpServletRequest req, HttpServl
2021-03-09 12:08:23
145
原创 《SSM笔记——SpringMVC》4、RestFul风格
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。4、RestFul风格作者:ExcelMann,转载需注明。概念: RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这种风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制;传统方式操作资源:通过不同的参数来实现不同的效果!(下面四个url,分别是查询、增加、更新、删除)localhost://8080/item/queryItem.action?id=1localhost:/
2021-03-09 12:08:07
170
原创 《SSM笔记——SpringMVC》3、使用注解的方式进行开发
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。3、使用注解的方式进行开发作者:ExcelMann,转载需注明。补充:@Conponent 组件@Service service@Controller Controller@Repository dao层这四个注解都是一样的,不过对于不同的层,使用不同的注解开发步骤:编写web.xml文件,注册DispatcherServlet(代码同上)编写springmvc配置文件,也即是xxx-s
2021-03-09 12:07:54
196
原创 《SSM笔记——SpringMVC》2、SpringMVC执行原理(重点)
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。2、SpringMVC执行原理作者:ExcelMann,转载需注明。2.1、简要分析执行流程DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求之后,DispatcherServlet接收请求并拦截请求。在这里,我们假设请求的url为:http://localhost:8080/SpringMVC/hello如上的url将会被拆分为三部分:http://localhost
2021-03-09 12:07:15
145
2
原创 《SSM笔记——SpringMVC》1、简介及第一个SpringMVC项目
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。1、简介及第一个SpringMVC项目作者:ExcelMann,转载需注明。1.1、简介MVC:以前的mvc,是M(bean、dao、service)V(jsp)C(servlet);现在的MVC,controller控制器接受表单数据调用业务接口转向指定的页面model模型业务逻辑保存数据的状态view视图显示页面SpringMVC的老版本网站:https://docs.spri
2021-03-09 12:05:50
121
原创 《SSM笔记——Spring》11、整合MyBatis
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。11、整合MyBatis作者:ExcelMann,转载需注明。步骤:导入依赖包junitmysqlmybatisspring-webmvcspring-jdbcaop织入spring-mybatis【整合所需要的】编写配置文件测试11.1、回忆MyBatis步骤:编写实体类编写核心配置文件编写mapper接口编写mapper.xml测试11.2、MyBatis-Spring【方式
2021-03-09 12:05:28
132
原创 《SSM笔记——Spring》10、声明式事务
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。10、声明式事务作者:ExcelMann,转载需注明。10.1、回顾事务要么成功,要么失败。10.2、spring中的事务管理声明式事务:AOP方式,不影响原来的代码编程式事务采用声明式事务:第一步:配置声明式事务第二步:创建一个事务的切面第三次:配置aop,选择切入点,选择环绕方式,引入切面<!--配置声明式事务--><bean id="transactionManager" cla
2021-03-08 12:26:18
139
原创 《SSM笔记——Spring》9、AOP
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。9、AOP作者:ExcelMann,转载需注明。9.1、什么是AOP9.2、AOP在Spring中的作用作用:提供声明式事务;允许用户自定义切面;一些名词的介绍(不用死记硬背):在SpringAOP中,通过Advice定义横切逻辑,Spring中支持5种类型的Advice:即:AOP可以在不改动原有代码的基础上,去增加新的功能。9.3、使用Spring实现AOP【重点】使用AOP织入,需要先导入一个依赖包!
2021-03-08 12:26:02
155
原创 《SSM笔记——Spring》8、代理模式
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。8、代理模式作者:ExcelMann,转载需注明。为什么要学习代理模式?因为这是SpringAOP的底层。代理模式的分类:静态代理动态代理8.1、静态代理角色分析:抽象角色:一般会使用接口或者抽象类实现比如本案例中的“租房”,该接口中有租房的方法;真实角色:被代理的角色比如本案例中的房东代理角色:代理真实角色,我们一般还会加上一些附属的操作比如本案例中的中介客户:访问代理对象的人
2021-03-08 12:25:51
112
原创 《SSM笔记——Spring》7、使用注解开发
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。7、使用注解开发作者:ExcelMann,转载需注明。7.1、注解开发(不需要在bean.xml中注册bean)前提:在spring4之后,要使用注解开发,必须要保证aop的依赖导入。并且在beans.xml文件中需要导入context约束,增加注解的支持。<!--指定要扫描的包,这个包下的注解就会生效--><context:component-scan base-package="com.
2021-03-08 12:25:36
148
原创 《SSM笔记——Spring》6、Bean的作用域
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。6、Bean的作用域作者:ExcelMann,转载需注明。6.1、单例模式(spring默认机制)<bean id="accountService" class="com.something.DefaultAccountService"/><!-- the following is equivalent, though redundant (singleton scope is the default)
2021-03-08 12:25:12
202
原创 《SSM笔记——Spring》5、配置说明
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。5、配置说明作者:ExcelMann,转载需注明。5.1、别名<!--如果使用别名,那么在java代码中也可以使用该别名获取到bean对象--><alias name="user" alias="user2"/>5.2、Bean的配置<!-- id:bean的唯一标识符,也就是创建的对象名 class:bean对象对应的类 name:起别名的另
2021-03-08 12:24:57
170
原创 《SSM笔记——Spring》4、依赖注入方式
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。4、依赖注入方式作者:ExcelMann,转载需注明。依赖注入依赖:bean对象的创建依赖于容器!注入:bean对象中的所有属性,由容器来注入!注入方式:使用构造函数使用setter注入使用第三方注入使用自动装配注入4.1、使用构造函数注入1.使用无参构造函数创建bean对象(默认)2.使用有参构造函数创建bean对象第一种,下标赋值<!-- 第一种方式:采用下标赋值-->
2021-03-08 12:24:45
160
原创 《SSM笔记——Spring》3、HelloSpring项目
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。3、HelloSpring项目作者:ExcelMann,转载需注明。3.1、首个实现IOC的Spring项目步骤:导入依赖包(spring-webmvc和spring-jdbc)创建实体类Hellopublic class Hello { private String str; //省略其余的}创建beans.xml配置文件<?xml version="1.0" encoding="UTF
2021-03-08 12:24:24
129
原创 《SSM笔记——Spring》2、IOC(控制反转)理论推导及本质
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。2、IOC(控制反转)理论推导及本质作者:ExcelMann,转载需注明。2.1、IOC理论推导原先的面向接口开发思路:UserDao :Dao接口UserDaoImpl : Dao实现类UserService : 业务接口UserServiceImpl : 业务实现类Dao实现类来实现Dao接口,业务实现类实现业务接口,业务实现类中,创建Dao接口的对象,调用Dao实现类的方法
2021-03-08 12:24:10
194
原创 《SSM笔记——Spring》1、简介
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。1、简介作者:ExcelMann,转载需注明。1.1、介绍2002年,首次推出了Spring框架的雏形:interface21框架!spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,与2004年3月24日,发布了1.0正式版本Rod Johnson,Spring Framework创始人,著名作者。spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架!(在
2021-03-08 12:23:53
154
原创 《SSM笔记——Mybatis》11、缓存
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。11、缓存作者:ExcelMann,转载需注明。11.1、简介1.什么是缓存?存在内存中的临时数据将用户经常查询的数据放在缓存中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而可以提高查询效率,解决了高并发系统的性能问题2.什么样的数据能够使用缓存?经常查询并且不经常改变的数据11.2、Mybatis缓存Mybatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓
2021-03-07 10:54:12
136
原创 《SSM笔记——Mybatis》10、动态SQL
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。10、动态SQL作者:ExcelMann,转载需注明。什么是动态SQL:根据不同的条件生成不同的sql语句。为了实现这个需求:当传入name时,则根据name进行查询,如果没有传参,那么查询全部数据。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。下面讲解这四个
2021-03-07 10:38:17
101
原创 《SSM笔记——Mybatis》9、一对多、多对一的处理
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。9、一对多、多对一的处理作者:ExcelMann,转载需注明。9.1、多对一处理假设:多个学生关联一个老师环境搭建:新建实体类Teacher,Student每个Student存有一个tid,表示关联一个老师;建立Mapper接口建立Mapper.xml文件在核心配置文件绑定注册我们的mapper接口或者xml文件测试按照查询嵌套处理:(对应子查询)<!-- 需求:欲查询所有学生信息(包含tea
2021-03-07 10:18:42
211
原创 《SSM笔记——Mybatis》8、使用注解开发
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。8、使用注解开发作者:ExcelMann,转载需注明。8.1、面向接口编程虽然都学过面向对象编程,也学习过接口,但是在真正的开发中,很多时候我们会选择面向接口编程。根本原因:解耦!还有可拓展,可复用,在分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好。关于接口的理解:接口从更深层次的理解,应该是定义(规范,约束)与实现的分离。(由系统设计人员,即架构师定义接口,然后由开发人员实现接口,
2021-03-07 10:02:02
185
1
原创 《SSM笔记——Mybatis》7、分页
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。7、分页作者:ExcelMann,转载需注明。思考,为什么要用分页? 减少数据的处理量。7.1、使用Limit实现分页(sql层面,常用)使用sql的limit分页:语法:select * from user limit startIndex,pageSize;select * from user limit 0,2;使用MyBatis实现分页,核心是SQL:接口// 分页查询所有用户List<Us
2021-03-07 09:46:07
165
原创 《SSM笔记——Mybatis》6、日志
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。6、日志作者:ExcelMann,转载需注明。6.1、日志工厂采用日志的目的:如果数据库操作出现了异常,我们需要排错,日志就是最好的助手!以前:sout、debug现在:日志工厂在mybatis中,日志的配置如下:STDOUT_LOGGING标准日志输出<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></s
2021-03-07 09:41:03
227
原创 《SSM笔记——Mybatis》5、解决属性名和字段名不一致的问题
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。5、解决属性名和字段名不一致的问题作者:ExcelMann,转载需注明。5.1、问题假设User实体的属性中pwd改为password,那么就会与数据库中的pwd不一致。通过mapper.xml查询出来的结果中,password部分将为null。5.2、一般解决方法采用“起别名”的方式。将mapper.xml的sql改为:select id,name,pwd as password from mybatis.user
2021-03-07 09:25:44
249
1
原创 《SSM笔记——Mybatis》4、配置解析
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。4、配置解析作者:ExcelMann,转载需注明。4.1、核心配置文件mybatis-config.xml包括:(注意:编写配置文件的时候,标签的顺序必须按照指定的顺序填写)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置) enviro
2021-03-07 09:20:23
145
原创 《SSM笔记——Mybatis》3、CRUD
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。3、CRUD作者:ExcelMann,转载需注明。mapper.xml文件的标签属性:id:对应的Mapper接口的执行方法名;resultType:返回类型parameterType:参数类型步骤:Mapper接口填写CRUD的方法;Mapper.xml文件,对应填写CRUD方法的sql;(都是考察sql的简单操作,就不记录了)注意点: 对于增删改,需要提交事务才能持久化到数据库中。// 增删改需要提
2021-03-07 08:59:10
127
原创 《SSM笔记——Mybatis》2、第一个MyBatis程序
版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。2、第一个MyBatis程序作者:ExcelMann,转载需注明。思路:首先搭建环境->导入Mybatis包->编写代码->测试2.1、搭建环境1、搭建数据库create database `mybatis`;use `mybatis`;create table `user`( `id` int(20) not null primary key, `name` varchar(20) de
2021-03-07 08:50:24
140
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人