- 博客(29)
- 收藏
- 关注
原创 如何配置content-type=application/json格式的请求
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-09-28 20:46:49
3751
3
转载 阅读优秀代码是提高开发人员修为的一种捷径
编者按:原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文是其中的另一篇。Alan认为:阅读优秀代码是提高开发人员修为的一种捷径。以下是全文。我突然想起来,很多程序员都讨厌阅读代码。来吧,承认吧! 每个人都喜欢编写代码,编代码是件趣事。 另一方面,阅读代码也不容易。 不仅不容易(编注:参见《微软资深软件工程师:阅读代码不容易》), 而且还非常枯燥,咱们要面对这一事实。任何不是你的代码都不怎样。(虽然我们没有说出来,但我们都是这样想的。)即便是
2020-09-25 14:11:51
173
原创 一次异步调用引起的bug
项目场景:工作流审核通过==>执行后续操作==>后续操作中异步调用超时方法==>调用一直超时,get方法导致一直阻塞问题描述:请求某接口,第一次请求时会被阻塞,后续请求无法再次请求该接口,第一次请求未结束,由于该接口使用synchronized关键字,导致后续请求无法再次请求该接口,导致阻塞的原因是使用了CompletableFuture来做异步操作,使用方法不当导致。public String getFlowInstanceRid(String orderId, String
2020-09-14 10:55:40
411
原创 Java多线程02之synchronized
Java多线程学习提示:本系列文章学习Java多线程相关知识文章目录Java多线程学习前言一、synchronized是什么?二、synchronized使用1.同步方法和同步代码块2.同步带来的问题总结前言多线程程序的评量标准:安全性:不损坏对象,使用线程安全的类生存性:进行必要的处理,避免死锁复用性:可再利用类一、synchronized是什么?synchronized:加锁机制,当有一个线程正在执行synchronized方法时,其他线程无法执行该方法,这是简单型的共享互斥,实
2020-08-24 15:31:11
192
原创 spring学习之bean的实例化及初始化
//返回值为空时,进入doCreateBean方法@Nullableprotected Object resolveBeforeInstantiation(String beanName, RootBeanDefinition mbd) { Object bean = null; if (!Boolean.FALSE.equals(mbd.beforeInstantiationResolved)) { // Make sure bean class is actually resolved at
2020-08-10 23:24:40
1304
原创 Servlet容器如何初始化的?
ServletContainerInitializerSpringServletContainerInitializerspring boot项目如何使用?存在于spring-web项目的META-INF/services/javax.servlet.ServletContainerInitializer文件中实现了ServletContainerInitializer,调用所有WebApplicationInitializer接口实现的onStartup方法,完成启动容器时初始化配置@Handl
2020-08-08 23:08:50
639
原创 spring boot之启动流程分析
启动流程创建SpringApplication对象,包括判断是否是web项目,初始化ApplicationContextInitializer、ApplicationListener,设置main方法对应类执行run方法,准备环境,参数等打印banner,并决定是否创建web项目调用ApplicationContextInitializer初始化方法,将配置加载到应用上下文刷新应用上下文执行CommandLineRunner主要注解分析@SpringBootConfiguration:自
2020-08-08 22:57:01
124
原创 spring释疑篇之何时加载Filter、Servlet、Listener?
spring boot 1.4.0以下在目录org.springframework.boot.context.embedded;在Spring boot 1.4.0及以上在目录org.springframework.boot.web.servlet下ServletRegistrationBeanFilterRegistrationBeanServletListenerRegistrationBeanDelegatingFilterProxyRegistrationBean以上均实现了Servle.
2020-08-07 10:48:02
447
原创 系列文章:spring的xml配置是如何对应注解配置的之过滤器Filter
CharacterEncodingFilter:过滤器,解决请求编码和返回响应编码,继承了OncePerRequestFilter,重写了doFilterInternal方法<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil
2020-08-03 14:57:08
777
原创 系列文章:spring的xml配置是如何对应注解配置的之ContextLoaderListener
何时加载ContextLoaderListener? <!-- 默认的spring配置文件是在WEB-INF下的applicationContext.xml --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param>
2020-07-31 13:56:22
590
原创 系列文章:spring的xml配置是如何对应注解配置的之扫描配置
<context:component-scan/>扫描组件,可以被@ComponentScan代替使用<context:component-scan/>后,就可以将<context:annotation-config/>移除<context:annotation-config/>向Spring容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、Persist
2020-07-31 09:49:37
813
原创 系列文章:spring的xml配置是如何对应注解配置的之配置介绍
从我们熟悉的web.xml开始…1、web.xml:指定spring配置文件bean.xml(默认applicationContext.xml)指定servlet配置文件,默认[servletName]-servlet.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.c
2020-07-31 09:27:55
187
原创 spring bean生命周期之初始化
通过实现接口BeanPostProcessor的postProcessAfterInitialization方法,应用于bean加载过程中执行顺序:postProcessBeforeInitialization---->实现接口BeanPostProcessor,初始化前执行、@PostConstruct注解的方法(构造方法执行后执行) afterPropertiesSet:实现InitializingBean接口 执行自定义初始化方法:initMethod(bean标签中存在init-m
2020-07-13 11:00:17
422
1
原创 ApplicationContext加载分析
总体代码结构public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException { super(parent); //解析路径,并将路径中的变量替换,去掉空格等 setConfigLocations(configLocations); if (re
2020-07-10 17:40:31
149
转载 【转】Java基础 之软引用、弱引用、虚引用
转载自:http://sishuok.com/forum/blogPost/list/342.html1、概述在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到...
2019-09-12 13:27:20
170
原创 pull/push 阿里云code代码登陆说明
在pull/push code.aliyun上的项目代码时,遇到一个登陆问题,记录,方便大家在code.aliyun.com上的代码仓库会有权限管理,如下图:如果是public等级,使用阿里云账号即可拉取如果是Internal及以上等级,需要使用项目组内成员单独账户名和密码,即https://code.aliyun.com/profile,个人设置的username,密码,不...
2019-09-08 11:16:00
782
原创 调用接口时报错
报错信息如下:org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unexpected character ('j' (code 106)): Expected space separating root-level valuesat [Source: ...
2019-08-30 15:45:27
4298
原创 docker容器内使用jstack等命令报错
记得之前也在容器中使用过jstack命令,没问题,最近再次使用时,报错了,在网上查了一下,记录下来解决方案报错信息如下:# jstack -F 1Attaching to process ID 1, please wait...Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't...
2019-08-27 09:48:30
6980
原创 踩过sprng boot 版本的几个坑
spring boot 1.4.0以下不直接支持@SpringBootTest注解@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)@Slf4jpublic class Cu...
2019-08-23 11:14:57
152
原创 hibernate条件语句中使用IN报错导致堆栈溢出
由于hibernate不支持子查询,在hibernate的WHERE条件语句中使用IN查询时,如果超过1000条数据,并不是MySQL的限制,会报如下错误:15:08:40.134 logback [http-nio-8096-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet ...
2019-08-22 09:58:36
1575
原创 hibernate保存对象时,外键约束报错
保存对象时,关联另外一个新对象时失败@TransactionalPurchaseOrder purchaseOrder = new PurchaseOrder();baseManager.saveOrUpdate(PurchaseOrder.class.getName(), purchaseOrder);//baseManager.getSession().flush()...
2019-08-21 14:32:27
706
原创 org.hibernate.NonUniqueObjectException: A different object with the same identifier value was alread
hibernate的session中出现多个不同状态的对象,在保存时报错public void createPurchaseOrder(SalesOrder salesOrder) throws Exception {// SalesOrder salesOrder = (SalesOrder) baseManager.findObject(SalesOrder.class.ge...
2019-08-21 11:57:47
623
原创 hibernate、session、事务
@Repositorypublic class XdoDaoSupport implements XdoDao { @Autowired @Qualifier("sessionFactory") private SessionFactory sessionFactory; public XdoDaoSupport() { } public Session getSe...
2019-08-21 11:18:48
184
原创 spring boot2.x配置spring security密码
如果使用“BCrypt”方式,需使用如下编码: @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override public void configure(AuthorizationServerSecurityConfi...
2019-05-30 14:30:54
878
原创 Java细节
double转BigDecimal:使用BigDecimal(double)构造函数会产生不可预测的结果,一般建议使用BigDecimal(String)来构造,更优雅的方式是使用BigDecimal.valueOf(double)来通过调用new BigDecimal(String)来生成BigDecimal对象...
2019-05-23 09:27:00
105
原创 react入门与问题解决
下载并安装node.js:https://nodejs.org/zh-cn/download/,安装成功:npm -version快速构建react项目:1、国内使用npm速度很慢,使用淘宝定制的cnpm (gzip 压缩支持) 命令行工具代替默认的 npm$ npm install -g cnpm --registry=https://registry.npm.taobao.org...
2019-05-09 11:19:39
95
原创 java8系列之Optional
本系列总结自《Java8实战》及个人实践背景:在平时开发过程中我们都会经常遇到NullPointerException这样的异常,这说明是空指针null调用的结果,关于空指针null的出现,仅仅是因为实现起来非常简单,其他语言也有各种替代方案,Java8使用Optional取代null解决:我们可能会使用嵌套判断null或者遇到null值返回来避免NullPointerException,更优雅的...
2018-06-09 16:24:26
274
原创 idea使用系列之配置spring Beans工具
idea关联spring注解相关问题汇总,持续更新在日常工作中,又是新导入的项目无法识别项目中已定义的一些bean,原因可能有:1、注解扫描包未扫描到,简而言之就是,注解配置有问题,比如在使用spring boot时,我们会有这样一行注解:@ComponentScan(basePackages ={"com"} )//如果自定义jar包里的注解未扫描到,则会报错“Error creating be...
2018-05-29 17:01:17
11992
3
原创 idea使用系列之常用快捷键
快捷键:设置:Ctrl + Alt + S自动补全:KeyMap > Main menu > Code > Completion > 移除原来的Cycle Expend Word的快捷键绑定,在Basic上点击右键,添加Alt + 斜杠快捷键快速修复:Alt + Enter删除无用import:Ctrl + Alt + o大小写转换:Ctrl + shi...
2018-04-23 10:54:16
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人