- 博客(94)
- 资源 (1)
- 问答 (5)
- 收藏
- 关注
原创 Spring MVC的异步模式(ResponseBodyEmitter、SseEmitter、StreamingResponseBody)
通过spring mvc异步接口,实现后端分段向前端发送信息。
2024-09-10 17:26:31
2848
1
原创 SpringBoot异步接口实现:提高系统的吞吐量
在SpringBoot环境下,如何使用异步请求提供系统的吞吐量。以及异步请求的三种方式介绍!!!!!
2024-05-10 20:05:41
1424
3
原创 关于SpringBoot MVC接口超时时间的分析
springmvc接口超时时间配置分析:同步接口没有超时时间配置;异步接口才可以配置超时时间;
2024-05-10 17:18:48
1817
原创 关于springboot内置tomcat最大请求数配置的一些问题
springboot内置了tomcat。那么一个springboot web应用,最大的请求链接数是多少呢?有哪些配置参数,他们是什么意思呢?
2024-04-27 21:50:04
1815
1
原创 springboot设置统一响应头——无效?接口无响应?
对接一个关联方系统,我这边需要提供几个接口。对方要求,这些接口有统一的响应格式,并且有。
2024-01-15 14:18:26
1265
1
原创 Knife4j文档请求异常:TypeError: n.forEach is not a function
Knife4j文档请求异常:TypeError:n.forEach is not a function
2022-06-23 14:13:47
6600
原创 减少if-else的使用——策略模式
减少if else策略模式使用策略模式问题减少if else:枚举法减少if else:享元模式总结代码是死的,人是活的。具体怎么使用还得看具体的场景。这里只是抛砖引玉。策略模式策略模式,不用多说,直接代码:定义一个策略接口:public interface Strategy { /** * 具体的策略,做某个事情 * * @author FYK */ void doSomething();}具体的策略类:public
2021-01-31 17:44:54
866
1
原创 SpringBoot中使用@Value取配置文件中的map配置
背景在springboot项目中,使用application.properties配置文件,然后需要配置一个map类型的配置,然后在程序的其他地方获取这个配置。配置内容fyk.db-script.check-sql.[1-FYK_PROPERTIES-DQL]=select case when exists(select 1 from all_tables t where t.TABLE_NAME = upper('fyk_properties')) then 1 else 0 end as resu
2020-08-09 18:44:00
18473
2
原创 SpringBoot项目启动时自动执行多个SQL脚本
目录背景解决方案注意补充说明背景有一个项目fyk-config,该项目需要在配置的时候,需要创建一个配置表(FYK_PROPERTIES),并且向该表中插入各个微服务的配置记录。解决方案在SpringBoot中,有一个DataSourceInitializer类,该类会在项目启动的时候,执行初始化脚本。具体代码如下:首先,在resources目录下,创建文件夹scritp/db,然后在db文件夹下,放入sql文件:然后,在项目中,写一个配置类:@Slf4j@Configurationpu
2020-08-09 16:57:07
2346
2
原创 SpringBoot中连接RabbitMQ报错An unexpected connection driver error occured
问题在SpringBoot中,连接RabbitMQ的时候,报错,错误信息大致如下:2020-08-08 14:42:01.812 ERROR 2780 --- [92.168.1.6:5672] c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occuredjava.net.SocketException: socket closed at java.net.SocketInputStr
2020-08-08 14:55:09
23463
2
原创 IDEA中使用maven插件dockerfile-maven-plugin制作并推送Docker镜像到私有仓库(Harbor)
目录背景dockerfile-maven-plugin插件制作镜像配置推送镜像到仓库问题背景用maven构建的父子工程。父工程下有多个子工程。现在要实现的功能是将某个项目打包制作为docker镜像然后推送到一个Docker镜像仓库(Harbor镜像仓库)。dockerfile-maven-plugin插件在父pom中,引入插件:<pluginManagement> <plugins> <plugin> <
2020-08-08 13:59:49
8277
7
原创 SpringBoot项目中,bootstrap.properties文件不生效
解决方案需要加入如下依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId></dependency>说明在开发微服务的时候,其他项目添加bootstrap文件都生效的,但是今天新建的一个项目,这个文件没有生效。原因该项目由于才在初始开发的阶段,无须加
2020-06-14 18:34:53
8328
原创 双括号初始化(匿名内部类初始化)
今天看到项目中有一段这样的代码://新建一个List并赋初值A、B、CArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C");}};一查资料,才明白,这种是双括号初始化,也就匿名内部类初始化。在通常使用集合的时候,是先new一个对象,...
2019-10-24 13:05:56
558
原创 SpringBoot定时任务
文章目录基于注解的方式基于接口的方式注解方式和接口方式,是可以在一个项目中共存的。基于注解的方式在启动类上,开启定时任务功能(加上@EnableScheduling注解):@EnableScheduling@SpringBootApplication@ComponentScan({ "com.boco.fyk.timer.**" })public class TimerAppli...
2019-10-12 00:07:08
200
原创 axios防重复提交
文章目录场景axios防重复提交思路具体实现补充场景用户在进行新增操作(比如新增菜单)。如果快速点击多次新增按钮,可能照成的情况就是新增了多条记录。一般可以通过在点击的时候,先禁用新增按钮,然后等本次操作完了,再解除禁用。不过,使用axios有更加优雅的实现方式。axios防重复提交思路先说下思路:在进行axios提交操作的时候,把本次请求做一个标记,保存到一个数组中。等请求结束了,就从...
2019-09-20 16:34:35
1785
原创 Oracle中,关于空值的问题
在oracle数据库中,空值是一个特殊的。比如要查询出一个表中,某个字段为空或者不为空的数据,不能直接用=或者<>,要使用is null或者is not null。以上可以说是一个常识性问题,一般都不会犯。不过,下面要说的问题,可能会被大多数人忽略:背景比如,在权限系统中,根据角色ID,要找出具有这个角色的用户和不具有这个角色的用户。所以,这里相关的表有fyk_user(用户表)...
2019-09-19 16:39:45
2913
原创 MyBatis中ResultMap的继承
假设有两个实体对象:A和B,其中B继承A。那么在定义B的ResultMap的时候,可以使用extends属性来继承A的ResultMap。示例有个实体对象FykUser:(get、set略)public class FykUser { private String id; private String loginName;}然后另一个实体对象FykUserVo,继承FykUs...
2019-09-19 15:25:59
4559
1
原创 MyBatis进行批次操作
文章目录批次操作补充在项目中,遇到这样一种情况,需要批量插入一些数据。在XML中配置的基本sql如下:<insert id="addMenuRole"> insert into fyk_role_menu (role_id, menu_id) values (#{roleId}, #{menuId})</insert>很显然,只要重复调用addMe...
2019-09-18 18:30:11
861
原创 MyBatis-plus:模糊查询
在使用MyBatis-plus的时候,一些基础的增删改查可以不用再自己写sql了:public interface UserDao extends BaseMapper<FykUser>{}就这样,就可以实现user表的增删改查了。模糊查询使用userDao.selectList(queryWrapper)方法,就可以查询出一个用户列表。如果需要模糊查询,代码如下:/...
2019-09-16 16:36:51
34336
5
原创 ES6 export命令和import命令
模块功能主要由两个命令构成:export和import。一个模块就是一个单独的文件,这个文件中的变量,外部是无法获得的。如果想在外部获得这个变量,只有在文件内部使用export导出这个变量,然后在外部import导入这个变量。export命令export可以导出一些变量、函数、数组、常量等。例如,在variable.js文件中,定义了两个变量:a、b,那么要在外部使用者两个变量,可以使用e...
2019-09-09 14:35:38
1065
原创 ES6 const命令
const声明一个只读的常量。一旦声明,常量的值就不能改变。这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const的作用域与let命令相同:只在声明所在的块级作用域内有效。const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。const声明的常量,也与let一样不可重复声明。const实际上保证的,并不是变量的值不得改动,而是变量...
2019-09-09 13:35:34
172
原创 ES6 let命令
文章目录代码块中有效变量提升暂时性死区let命令用来声明变量,使用方式与var命令一样。但是二者的作用有区别:let声明的变量只在let声明的代码块中有效,且不存在变量提升。另外,在相同的作用域内,使用let声明同一个变量是不允许的。代码块中有效如下代码,输出的i为10,说明使用var变量声明的变量,就算是离开了代码块,依然是有效的。for(var i = 0; i < 10; ++...
2019-09-09 13:26:23
243
原创 ES6 Promise 对象用法总结
文章目录特点创建实际的例子Promise.resolve方法,Promise.reject方法Promise用来传递异步操作的消息,Promise 对象代表一个异步操作。特点1、Promise对象的状态不受外界影响,也就是说,只有异步操作的结果可以改变他的状态,其他操作都无法改变这个状态;总共有三种状态:pending(等待):初始状态,不是成功或失败状态。fulfilled(完成):...
2019-09-05 10:27:58
475
原创 Vue2.x中,父子组件通信
文章目录父传子对象:注意单向数据子传父有这么一个情况,在父组件中,使用了子组件,现在想将父中的某些值传给子,或者将子中的某些值传给父。为了解决以上问题,通常采用的是props来实现。props的值可以是两种:字符串数组、对象;父传子这里首先介绍数组的情况:在子组件中,定义props:<template> <div>{{parentStr}}</div&...
2019-09-04 16:22:26
340
原创 在SpringBoot中使用AOP——通知中的参数
文章目录使用JoinPoint获取自动获取在后置返回通知中获取返回值在后置异常通知中获取异常本文基于在SpringBoot中使用AOP获取被被通知方法参数并传递给通知方法,主要有两种方式:使用JoinPoint获取:Spring AOP提供使用org.aspectj.lang.JoinPoint类型获取连接点数据,任何通知方法的第一个参数都可以是JoinPoint(环绕通知是Proceed...
2019-09-02 17:47:06
3432
原创 在SpringBoot中使用AOP
文章目录声明切面类声明切入点切入点指示符声明通知环绕通知通知顺序通知参数完整代码声明切面类切面,通俗的讲就是:在哪干和干什么集合;定义切面类,就是编写一个类,在类上使用注解:@Aspect;@Component注解是要将这个类交由spring管理;@Aspect@Componentpublic class ControllerLog {}声明切入点切入点,通俗的讲就是:在哪...
2019-09-02 16:35:36
390
原创 SpringBoot异步任务(多线程)
配置类@Configuration@EnableAsyncpublic class AsyncConfig implements AsyncConfigurer { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor()...
2019-08-30 15:06:25
3642
原创 SpringCloud微服务——Feign调用其他服务
前言在微服务中,有多个服务:A、B、C等等。如果前端访问A服务做一个业务,其中一个环节是需要B服务的支持,也就是在A服务中,要调用B服务,这个时候,可以使用Feign来实现。假定A调用B,则A为客户端,B为服务端。服务端的写法,不用说了,就和Spring MVC中Contoller的代码写法一样。以下就介绍客户端的写法。添加jar包这里只是给出了feign的包,其他的依赖包根据项目而定:&...
2019-08-29 18:18:21
2992
原创 Feign客户端连接超时:feign.RetryableException: Read timed out executing xxxxxxxxxx
在Feign客户端调用服务端的时候,很容易出现连接超时的错误,解决的方式是,在配置文件中,加入:feign.client.config.default.connect-timeout=20000feign.client.config.default.read-timeout=20000...
2019-08-29 16:59:15
13591
原创 Feign客户端指定为Get方式,但是服务端接收的请求却为Post方式
文章目录背景问题解决方案背景在服务端,暴露了一个接口,是get方式请求的。然后客户端的请求代码如下:@FeignClient("fyk-business-cxf/testQqOnline")public interface QqOnlineFeignClient { @GetMapping("/qqCheckOnline") public String qqCheckOnline(St...
2019-08-29 16:40:13
2401
1
原创 (SpringCloud中的WebService)SpringBoot整合CXF——客户端
生成客户端代码首先下载CXF的压缩包:配置环境变量:首先,在环境变量中增加如下变量:然后添加到Path变量中:生成客户端代码:wsdl2java -d F:\fyk-plat\fyk-business\fyk-business-ws\fyk-business-cxf\src\main\java -p com.boco.fyk.cxf.cxfclient.qqonline -en...
2019-08-29 14:46:48
3009
原创 wsdl2java生成CXFjava客户端代码报错:由于 accessExternalSchema 属性设置的限制而不允许 'file' 访问, 因此无法读取方案文档 'xjc.xsd'
报错信息Exception in thread "main" java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/D:/apache-cxf/apache-cxf-2.7.16/lib/jaxb-xjc-2.2.6.jar!/com/sun/tools/xjc/reader/xmlschema/...
2019-08-29 11:17:58
1778
1
原创 CXF获取出入站报文
在SpringBoot整合CXF——服务端中,是直接将报文打印出来的,这个适合在调试的时候使用,但是在实际中,期望的是将报文保存下来。直接上代码:@Configuration@Slf4jpublic class CxfConfig { @Bean(name = Bus.DEFAULT_BUS_ID) public SpringBus springBus() { LoggingFe...
2019-08-16 16:22:23
3076
原创 (SpringCloud中的WebService)SpringBoot整合CXF——服务端
文章目录引入jar包修改配置文件CXF配置类WS接口编写测试在SpringBoot和SpringCloud微服务中,整合CXF都是一样的。直接上代码:引入jar包这里只给出了CXF先关的jar包,项目中的其他jar依赖略。<!-- cxf start --><dependency> <groupId>org.apache.cxf</groupI......
2019-08-16 16:16:00
9754
10
原创 SpringBoot之ApplicationRunner(一个spring容器启动完成执行的类)
在项目中,可能会遇到这样一个问题:在项目启动完成之后,紧接着执行一段代码。在SpringBoot中,提供了一个接口:ApplicationRunner。该接口中,只有一个run方法,他执行的时机是:spring容器启动完成之后,就会紧接着执行这个接口实现类的run方法。@Componentpublic class PublishEndpoint implements Application...
2019-08-16 13:32:46
17854
原创 SpringCloud微服务——配置中心config(oracle数据库实现方式)
客户端pom文件中,引入jar包:<!-- spring cloud config start --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId>...
2019-08-15 15:05:38
4194
原创 SpringCloud微服务——基于security+oauth2的安全保护(七):非JWT方式下获取登录人信息
在上一个文章中(JWT方式下获取登录人信息),介绍了在JWT方式下获取登录人信息的方式。这里再介绍使用jdbc和redis存储token的方式下,获取登录人信息。授权服务改造授权服务的改造很简单,因为要写的代码,在JWT方式下获取登录人信息中已经写了,所以,只需要在授权服务配置类OAuth2AuthorizationConfig中做一下调整:@Overridepublic void con...
2019-08-15 13:57:30
1985
1
原创 SpringCloud微服务——基于security+oauth2的安全保护(六):JWT方式下获取登录人信息
文章目录添加额外的信息授权服务改造添加CustomTokenEnhancer类:授权服务配置类:OAuth2AuthorizationConfig改造资源服务改造新增CustomerAccessTokenConverter类:资源服务配置类改造:OAuth2ResourceConfig公共方法在使用JWT存储token的时候,由于授权服务把token给了资源服务之后,资源服务就不会再访问授权服务...
2019-08-14 17:58:38
4521
eclipse将spring boot项目导出javadoc文档报错?
2019-03-08
JMS订阅主题之后,有时不能收到消息,重启后可以收到?
2018-11-09
ibatis分页取30条数据,前29条速度很快,但是到了最后一条速度很慢?
2017-03-10
获得一个流对象,用类加载器方式和用new方式有什么不同?
2016-12-12
ibatis中如何通过事务保证数据库操作的原子性。
2016-11-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人